summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2018-11-22 11:55:04 +0000
committerManolo Gouy <Manolo>2018-11-22 11:55:04 +0000
commit97c0c6a0243dfc5596abccc243044af6eeaf40b4 (patch)
treea8352f1dc16b01a23d025397bafdf71bc2a1dc11 /src
parent7e5b04cab5936e78fedd95323b67946b265bd7fe (diff)
MacOS: fix redraw of subwindow when display resolutions before miniaturize and after deminiaturize differ.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13129 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_cocoa.mm7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 68e1cb353..915677038 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -1347,6 +1347,8 @@ static FLWindowDelegate *flwindowdelegate_instance = nil;
FLWindow *nsw = (FLWindow*)[notif object];
if ([nsw miniwindowImage]) { [nsw setMiniwindowImage:nil]; }
Fl_Window *window = [nsw getFl_Window];
+ // necessary when resolutions before miniaturization and after deminiaturization differ
+ [nsw recursivelySendToSubwindows:@selector(setSubwindowFrame)];
Fl::handle(FL_SHOW, window);
update_e_xy_and_e_xy_root(nsw);
Fl::flush(); // Process redraws set by FL_SHOW.
@@ -2198,10 +2200,7 @@ static CGContextRef prepare_bitmap_for_layer(int w, int h ) {
if (!Fl::use_high_res_GL() && fl_mac_os_version < 101401) [self layer].contentsScale = 1.;
Fl_Window *window = [(FLWindow*)[self window] getFl_Window];
Fl_Cocoa_Window_Driver *d = Fl_Cocoa_Window_Driver::driver(window);
- if (d->wait_for_expose_value) {
- // 1st drawing of GL window
- [self did_view_resolution_change];
- }
+ [self did_view_resolution_change];
window->clear_damage(FL_DAMAGE_ALL);
d->Fl_Window_Driver::flush();
window->clear_damage();