Code: Select all
Application Specific Information:
Detected over-release of a CFTypeRef 0x7fc988c10600 (7 / CFString)
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.CoreFoundation 0x00007fff2059a00b _CFRelease.cold.3 + 73
1 com.apple.CoreFoundation 0x00007fff20534128 _CFRelease + 1322
2 com.apple.CoreFoundation 0x00007fff20446ce8 __RELEASE_OBJECTS_IN_THE_SET__ + 132
3 com.apple.CoreFoundation 0x00007fff20446c1f -[__NSSetM dealloc] + 128
4 com.apple.AppKit 0x00007fff22fceaa0 -[_NSPasteboardTypeCache dealloc] + 35
5 libobjc.A.dylib 0x00007fff2022d39d AutoreleasePoolPage::releaseUntil(objc_object**) + 167
6 libobjc.A.dylib 0x00007fff2021033e objc_autoreleasePoolPop + 161
7 com.apple.CoreFoundation 0x00007fff2042a1f0 _CFAutoreleasePoolPop + 22
8 com.apple.Foundation 0x00007fff211c8e01 -[NSAutoreleasePool drain] + 129
9 com.apple.AppKit 0x00007fff22c75b3c -[NSApplication run] + 636
10 dnd 0x000000010350fd2b wxGUIEventLoop::OSXDoRun() + 171 (evtloop.mm:304)
11 dnd 0x0000000103408ca7 wxCFEventLoop::DoRun() + 39 (evtloop_cf.cpp:331)
12 dnd 0x000000010334af8b wxEventLoopBase::Run() + 235 (evtloopcmn.cpp:90)
13 dnd 0x000000010330cc0f wxAppConsoleBase::MainLoop() + 191 (appbase.cpp:380)
14 dnd 0x000000010330c6cc wxAppConsoleBase::OnRun() + 28 (appbase.cpp:301)
15 dnd 0x0000000103554e6b wxAppBase::OnRun() + 59 (appcmn.cpp:335)
16 dnd 0x00000001034a9289 wxApp::OnRun() + 41 (app.cpp:364)
17 dnd 0x0000000103382f9f wxEntry(int&, wchar_t**) + 287 (init.cpp:507)
18 dnd 0x000000010338315b wxEntry(int&, char**) + 59 (init.cpp:519)
19 dnd 0x00000001032e3623 main + 35 (dnd.cpp:116)
20 libdyld.dylib 0x00007fff2038c621 start + 1
I've managed to replicate this in the dnd sample with the attached. All you have to do is start a drag twice off the "Drag text from here!" panel — you don't even have to complete the drag; you can let it drop right back on "Drag text from here!" if you want, or anywhere else.
Note that if you replace the (minimal) custom data object with something like a wxHTMLDataObject, it doesn't crash.
Edit: I revised the attached sample to remove as much customization to the custom data object as possible, and to make it easily switchable between the crashing custom data object and a working wxHTMLDataObject.