X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cfb0ef701eb4d8043b91822931ca0e6e3af5fddc..f675b4f521c6696648674d8901e2d6162ab5e2fb:/src/osx/cocoa/evtloop.mm diff --git a/src/osx/cocoa/evtloop.mm b/src/osx/cocoa/evtloop.mm index bcd24e8405..11e9d21129 100644 --- a/src/osx/cocoa/evtloop.mm +++ b/src/osx/cocoa/evtloop.mm @@ -118,10 +118,16 @@ bool wxGUIEventLoop::Dispatch() inMode:NSDefaultRunLoopMode dequeue: YES]) { + WXEVENTREF formerEvent = wxTheApp == NULL ? NULL : wxTheApp->MacGetCurrentEvent(); + WXEVENTHANDLERCALLREF formerHandler = wxTheApp == NULL ? NULL : wxTheApp->MacGetCurrentEventHandlerCallRef(); + if (wxTheApp) wxTheApp->MacSetCurrentEvent(event, NULL); m_sleepTime = 0.0; [NSApp sendEvent: event]; + + if (wxTheApp) + wxTheApp->MacSetCurrentEvent(formerEvent , formerHandler); } else { @@ -175,6 +181,13 @@ void wxGUIEventLoop::DoStop() [NSApp stop:0]; } +CFRunLoopRef wxGUIEventLoop::CFGetCurrentRunLoop() const +{ + NSRunLoop* nsloop = [NSRunLoop currentRunLoop]; + return [nsloop getCFRunLoop]; +} + + // TODO move into a evtloop_osx.cpp wxModalEventLoop::wxModalEventLoop(wxWindow *modalWindow)