]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix crash in wxCFEventLoop::AddSourceForFD().
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 9 Nov 2010 23:53:28 +0000 (23:53 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 9 Nov 2010 23:53:28 +0000 (23:53 +0000)
Don't reset CFFileDescriptorRef before passing it to
CFFileDescriptorCreateRunLoopSource(), this resulted in a crash inside this
function.

Closes #11542.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/osx/core/evtloop_cf.cpp

index 38d3233b718dc2c87ead0042da8e3ddb5fffc323..f151cb5684405c6c01444a48872fd48f2a964a19 100644 (file)
@@ -107,8 +107,6 @@ wxCFEventLoop::AddSourceForFD(int fd,
     if ( !cffd )
         return NULL;
 
-    source->SetFileDescriptor(cffd.release());
-
     wxCFRef<CFRunLoopSourceRef>
         cfsrc(CFFileDescriptorCreateRunLoopSource(kCFAllocatorDefault, cffd, 0));
     if ( !cfsrc )
@@ -117,6 +115,8 @@ wxCFEventLoop::AddSourceForFD(int fd,
     CFRunLoopRef cfloop = CFGetCurrentRunLoop();
     CFRunLoopAddSource(cfloop, cfsrc, kCFRunLoopDefaultMode);
 
+    source->SetFileDescriptor(cffd.release());
+
     return source.release();
 }