From 59d6b6a928a03622282e5bada6c38f27588170bf Mon Sep 17 00:00:00 2001 From: David Elliott Date: Thu, 9 Oct 2003 15:59:37 +0000 Subject: [PATCH] Added lengthy comment detailing the implications of idle handling git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24137 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/cocoa/app.mm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/cocoa/app.mm b/src/cocoa/app.mm index 54d1f42267..6a2c443ac4 100644 --- a/src/cocoa/app.mm +++ b/src/cocoa/app.mm @@ -239,6 +239,16 @@ void wxApp::CocoaInstallIdleHandler() // Call doIdle for EVERYTHING dammit // We'd need Foundation/NSConnection.h for this next constant, do we need it? [[ NSRunLoop currentRunLoop ] performSelector:@selector(doIdle:) target:m_cocoaAppDelegate argument:NULL order:0 modes:[NSArray arrayWithObjects:NSDefaultRunLoopMode, /* NSConnectionReplyRunLoopMode,*/ NSModalPanelRunLoopMode, /**/NSEventTrackingRunLoopMode,/**/ nil] ]; + /* Notes: + In the Mac OS X implementation of Cocoa, the above method schedules + doIdle: to be called from *within* [NSApplication + -nextEventMatchingMask:untilDate:inMode:dequeue:]. That is, no + NSEvent object is generated and control does not return from that + method. In fact, control will only return from that method for the + usual reasons (e.g. a real event is received or the untilDate is reached). + This has implications when trying to stop the event loop and return to + its caller. See wxEventLoop::Exit + */ } void wxApp::CocoaDelegate_applicationWillBecomeActive()