summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-03-11 15:10:46 +0000
committerManolo Gouy <Manolo>2016-03-11 15:10:46 +0000
commit75d66680cbfe95bed1c158dcb32adaf7b24576a8 (patch)
tree345210169d3e93b07f1c228ad63e3686d96935a0
parent28f24b1b6f57a1b3bdd435565290fa60a155b66f (diff)
Fix small problem in win->wait_for_expose() for a window that has subwindows.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11348 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--src/Fl_cocoa.mm18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 425f844bd..2cde0dfd1 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -654,6 +654,7 @@ void Fl_Cocoa_Screen_Driver::remove_timeout(Fl_Timeout_Handler cb, void* data)
- (void)recursivelySendToSubwindows:(SEL)sel;
- (void)setSubwindowFrame;
- (void)checkSubwindowFrame;
+- (void)waitForExpose;
- (NSRect)constrainFrameRect:(NSRect)frameRect toScreen:(NSScreen *)screen;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
- (NSPoint)convertBaseToScreen:(NSPoint)aPoint;
@@ -774,6 +775,16 @@ void Fl_Cocoa_Screen_Driver::remove_timeout(Fl_Timeout_Handler cb, void* data)
}
}
+-(void)waitForExpose
+{
+ if ([self getFl_Window]->shown()) {
+ // this makes freshly created windows appear on the screen, if they are not there already
+ NSModalSession session = [NSApp beginModalSessionForWindow:self];
+ [NSApp runModalSession:session];
+ [NSApp endModalSession:session];
+ }
+}
+
/* With Mac OS 10.11 the green window button makes window fullscreen (covers system menu bar and dock).
When there are subwindows, they are by default constrained not to cover the menu bar
(this is arguably a Mac OS bug).
@@ -3097,12 +3108,7 @@ void Fl_Window::size_range_() {
void Fl_Cocoa_Window_Driver::wait_for_expose()
{
- if (pWindow->shown()) { //TODO: do that also for pWindow's subwindows
- // this makes freshly created windows appear on the screen, if they are not there already
- NSModalSession session = [NSApp beginModalSessionForWindow:Fl_X::i(pWindow)->xid];
- [NSApp runModalSession:session];
- [NSApp endModalSession:session];
- }
+ [fl_xid(pWindow) recursivelySendToSubwindows:@selector(waitForExpose)];
}
/*