From 97c0c6a0243dfc5596abccc243044af6eeaf40b4 Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Thu, 22 Nov 2018 11:55:04 +0000 Subject: 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 --- src/Fl_cocoa.mm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src') 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(); -- cgit v1.2.3