From: Stefan Csomor Date: Sat, 1 Jan 2011 16:25:37 +0000 (+0000) Subject: pusing a dummy event, to make sure the stop: succeeds in immediate runloop terminatio... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/2e5f9929e68e3878728c6a915268f4e8ed09383a pusing a dummy event, to make sure the stop: succeeds in immediate runloop termination, instead of waiting for the next user event git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/osx/cocoa/evtloop.mm b/src/osx/cocoa/evtloop.mm index 11e9d21129..89957cd2bd 100644 --- a/src/osx/cocoa/evtloop.mm +++ b/src/osx/cocoa/evtloop.mm @@ -179,6 +179,16 @@ void wxGUIEventLoop::DoRun() void wxGUIEventLoop::DoStop() { [NSApp stop:0]; + // only calling stop: is not enough when called from a runloop-observer, + // therefore add a dummy event, to make sure the runloop gets another round + NSEvent *event = [NSEvent otherEventWithType:NSApplicationDefined + location:NSMakePoint(0.0, 0.0) + modifierFlags:0 + timestamp:0 + windowNumber:0 + context:nil + subtype:0 data1:0 data2:0]; + [NSApp postEvent:event atStart:FALSE]; } CFRunLoopRef wxGUIEventLoop::CFGetCurrentRunLoop() const