git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64342
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
#endif // wxUSE_EVENTLOOP_SOURCE
#endif // wxUSE_EVENTLOOP_SOURCE
-void wxObserverCallBack(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info)
+extern "C" void wxObserverCallBack(CFRunLoopObserverRef observer, CFRunLoopActivity activity, void *info)
{
wxCFEventLoop * eventloop = static_cast<wxCFEventLoop *>(info);
if ( eventloop )
{
wxCFEventLoop * eventloop = static_cast<wxCFEventLoop *>(info);
if ( eventloop )
bzero( &ctxt, sizeof(ctxt) );
ctxt.info = this;
m_runLoopObserver = CFRunLoopObserverCreate( kCFAllocatorDefault, kCFRunLoopBeforeTimers | kCFRunLoopBeforeWaiting , true /* repeats */, 0,
bzero( &ctxt, sizeof(ctxt) );
ctxt.info = this;
m_runLoopObserver = CFRunLoopObserverCreate( kCFAllocatorDefault, kCFRunLoopBeforeTimers | kCFRunLoopBeforeWaiting , true /* repeats */, 0,
- wxObserverCallBack, &ctxt );
+ wxObserverCallBack, &ctxt );
CFRunLoopAddObserver(m_runLoop, m_runLoopObserver, kCFRunLoopCommonModes);
CFRunLoopAddObserver(m_runLoop, m_runLoopObserver, kCFRunLoopCommonModes);
+ CFRelease(m_runLoopObserver);
}
wxCFEventLoop::~wxCFEventLoop()
}
wxCFEventLoop::~wxCFEventLoop()
void wxCFEventLoop::WakeUp()
{
void wxCFEventLoop::WakeUp()
{
- extern void wxMacWakeUp();
-
- wxMacWakeUp();
+ CFRunLoopWakeUp(m_runLoop);
}
bool wxCFEventLoop::YieldFor(long eventsToProcess)
}
bool wxCFEventLoop::YieldFor(long eventsToProcess)