X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb743cab53102c1d2d636acd173112233835f3f7..35ee7124870ad4b8f73b45d906209620e36ae9ea:/src/mac/carbon/app.cpp diff --git a/src/mac/carbon/app.cpp b/src/mac/carbon/app.cpp index 2128892511..e997cc3e1b 100644 --- a/src/mac/carbon/app.cpp +++ b/src/mac/carbon/app.cpp @@ -850,6 +850,8 @@ bool wxApp::Initialize(int& argc, wxChar **argv) event_posted_context.perform = macPostedEventCallback; m_macEventPosted = CFRunLoopSourceCreate(NULL,0,&event_posted_context); CFRunLoopAddSource(CFRunLoopGetCurrent(), m_macEventPosted, kCFRunLoopCommonModes); + // run loop takes ownership + CFRelease(m_macEventPosted); #endif UMAShowArrowCursor() ; @@ -908,8 +910,10 @@ void wxApp::CleanUp() #ifdef __WXMAC_OSX__ if (m_macEventPosted) - CFRelease(m_macEventPosted); - m_macEventPosted = NULL; + { + CFRunLoopRemoveSource(CFRunLoopGetCurrent(), m_macEventPosted, kCFRunLoopCommonModes); + m_macEventPosted = NULL; + } #endif // One last chance for pending objects to be cleaned up