separating observers for default mode (outer 'normal' loop) and common mode loops, fixes #13208

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2011-05-11 06:46:07 +00:00
parent 76ba33d39a
commit 3cac36541b
2 changed files with 47 additions and 17 deletions

View File

@@ -53,9 +53,14 @@ public:
AddSourceForFD(int fd, wxEventLoopSourceHandler *handler, int flags);
#endif // wxUSE_EVENTLOOP_SOURCE
void ObserverCallBack(CFRunLoopObserverRef observer, int activity);
protected:
void CommonModeObserverCallBack(CFRunLoopObserverRef observer, int activity);
void DefaultModeObserverCallBack(CFRunLoopObserverRef observer, int activity);
static void OSXCommonModeObserverCallBack(CFRunLoopObserverRef observer, int activity, void *info);
static void OSXDefaultModeObserverCallBack(CFRunLoopObserverRef observer, int activity, void *info);
// get the currently executing CFRunLoop
virtual CFRunLoopRef CFGetCurrentRunLoop() const;
@@ -74,8 +79,11 @@ protected:
// cfrunloop
CFRunLoopRef m_runLoop;
// runloop observer
CFRunLoopObserverRef m_runLoopObserver;
// common modes runloop observer
CFRunLoopObserverRef m_commonModeRunLoopObserver;
// default mode runloop observer
CFRunLoopObserverRef m_defaultModeRunLoopObserver;
private:
// process all already pending events and dispatch a new one (blocking