summaryrefslogtreecommitdiff
path: root/src/Fl_cocoa.mm
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2015-08-11 11:47:21 +0000
committerManolo Gouy <Manolo>2015-08-11 11:47:21 +0000
commit1e6bc1c73aa2a080aa0b50525d4edac1e80f7861 (patch)
tree1fec492d0c4da664f57e38b18dd8a25cb884026f /src/Fl_cocoa.mm
parente9888e09c59dfde543d97a487c65a4961c7b30bd (diff)
Improved Mac OS implementation of Fl_Window::wait_for_expose().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10828 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_cocoa.mm')
-rw-r--r--src/Fl_cocoa.mm12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Fl_cocoa.mm b/src/Fl_cocoa.mm
index 9c91a79f8..1c10d659b 100644
--- a/src/Fl_cocoa.mm
+++ b/src/Fl_cocoa.mm
@@ -3085,11 +3085,13 @@ void Fl_Window::size_range_() {
}
}
-void Fl_X::do_wait_for_expose()
-{ // this will make freshly created windows appear on the screen
- [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:nil inMode:NSDefaultRunLoopMode dequeue:NO];
- if (fl_mac_os_version >= 101100) { // this extra message seems necessary with 10.11
- [NSApp nextEventMatchingMask:NSAnyEventMask untilDate:nil inMode:NSDefaultRunLoopMode dequeue:NO];
+void Fl_Window::wait_for_expose()
+{
+ if (shown()) {
+ // this makes freshly created windows appear on the screen, if they are not there already
+ NSModalSession session = [NSApp beginModalSessionForWindow:i->xid];
+ [NSApp runModalSession:session];
+ [NSApp endModalSession:session];
}
}