git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63698
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#endif // platforms using "manual" loop
#endif // platforms using "manual" loop
-// include the header defining wxConsoleEventLoop for Unix systems
-#if defined(__UNIX__)
- #include "wx/unix/evtloop.h"
-#endif
-
// we're moving away from old m_impl wxEventLoop model as otherwise the user
// code doesn't have access to platform-specific wxEventLoop methods and this
// can sometimes be very useful (e.g. under MSW this is necessary for
// we're moving away from old m_impl wxEventLoop model as otherwise the user
// code doesn't have access to platform-specific wxEventLoop methods and this
// can sometimes be very useful (e.g. under MSW this is necessary for
+// include the header defining wxConsoleEventLoop for Unix systems
+#if defined(__UNIX__)
+#include "wx/unix/evtloop.h"
+#endif
+
#if wxUSE_GUI
// we use a class rather than a typedef because wxEventLoop is
// forward-declared in many places
#if wxUSE_GUI
// we use a class rather than a typedef because wxEventLoop is
// forward-declared in many places
// the loop exit code
int m_exitcode;
// the loop exit code
int m_exitcode;
+ // cfrunloop
+ CFRunLoopRef m_runLoop;
+
// runloop observer
CFRunLoopObserverRef m_runLoopObserver;
// runloop observer
CFRunLoopObserverRef m_runLoopObserver;
class WXDLLIMPEXP_BASE wxConsoleEventLoop
#ifdef __WXOSX__
class WXDLLIMPEXP_BASE wxConsoleEventLoop
#ifdef __WXOSX__
-: public wxEventLoopBase
#else
: public wxEventLoopManual
#endif
#else
: public wxEventLoopManual
#endif
+ m_runLoop = CFGetCurrentRunLoop();
+
CFRunLoopObserverContext ctxt;
bzero( &ctxt, sizeof(ctxt) );
ctxt.info = this;
m_runLoopObserver = CFRunLoopObserverCreate( kCFAllocatorDefault, kCFRunLoopBeforeTimers | kCFRunLoopBeforeWaiting , true /* repeats */, 0,
wxObserverCallBack, &ctxt );
CFRunLoopObserverContext ctxt;
bzero( &ctxt, sizeof(ctxt) );
ctxt.info = this;
m_runLoopObserver = CFRunLoopObserverCreate( kCFAllocatorDefault, kCFRunLoopBeforeTimers | kCFRunLoopBeforeWaiting , true /* repeats */, 0,
wxObserverCallBack, &ctxt );
- CFRunLoopAddObserver(CFGetCurrentRunLoop(), m_runLoopObserver, kCFRunLoopDefaultMode);
+ CFRunLoopAddObserver(m_runLoop, m_runLoopObserver, kCFRunLoopDefaultMode);
}
wxCFEventLoop::~wxCFEventLoop()
{
}
wxCFEventLoop::~wxCFEventLoop()
{
+ CFRunLoopRemoveObserver(m_runLoop, m_runLoopObserver, kCFRunLoopDefaultMode);