X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/906c935a80b10d53cecf57f71ab5f3f4f1d529ec..15160da216c5e4048a905acfdd5574b3c1323073:/src/osx/carbon/evtloop.cpp diff --git a/src/osx/carbon/evtloop.cpp b/src/osx/carbon/evtloop.cpp index d263effec7..288210641b 100644 --- a/src/osx/carbon/evtloop.cpp +++ b/src/osx/carbon/evtloop.cpp @@ -93,13 +93,21 @@ void wxGUIEventLoop::WakeUp() kEventPriorityHigh ); } -void wxGUIEventLoop::DoRun() +void wxGUIEventLoop::OSXDoRun() { wxMacAutoreleasePool autoreleasepool; - RunApplicationEventLoop(); + + while (!m_shouldExit) + { + RunApplicationEventLoop(); + } + + // Force enclosing event loop to temporarily exit and check + // if it should be stopped. + QuitApplicationEventLoop(); } -void wxGUIEventLoop::DoStop() +void wxGUIEventLoop::OSXDoStop() { QuitApplicationEventLoop(); } @@ -127,7 +135,7 @@ wxModalEventLoop::wxModalEventLoop(WXWindow modalNativeWindow) // END move into a evtloop_osx.cpp -void wxModalEventLoop::DoRun() +void wxModalEventLoop::OSXDoRun() { wxWindowDisabler disabler(m_modalWindow); wxMacAutoreleasePool autoreleasepool; @@ -163,7 +171,7 @@ void wxModalEventLoop::DoRun() } -void wxModalEventLoop::DoStop() +void wxModalEventLoop::OSXDoStop() { wxMacAutoreleasePool autoreleasepool; QuitAppModalLoopForWindow(m_modalNativeWindow);