When AllowDropFiles is true and dragging files from the same application (to itself) this happens:
It works flawlessly if I use cmem. Its crashing at the very end of GTKDRAGDATARECEIVED() (at the 'end' statement when its cleaning up reference counted variables) and the only dynamic array I can see here is the one that was created in the same function, so it should be the same thread that created it that is now destroying it again. I cannot see any obvious wrongdoing in GtkDragDataReceived(). Using cthreads makes no difference, using cmem makes the error go away. What could this be? how to debug this? #0 WAITFREE_VAR(0xb7c4b3c4) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/heap.inc:1084 #1 SYSFREEMEM_VAR(0x844a2f4, 0xb7c4b3c4) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/heap.inc:1145 #2 SYSFREEMEM(0xb7c4b3d0) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/heap.inc:1187 #3 FREEMEM(0xb7c4b3d0) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/heap.inc:291 #4 FPC_DYNARRAY_CLEAR_INTERNAL(0xb7c4b3d0, 0x83df002) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/dynarr.inc:72 #5 fpc_dynarray_decr_ref(0xb7c4b3d8, 0x83df000) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/dynarr.inc:107 #6 fpc_finalize(0xbfffeaec, 0x83df000) at /home/bernd/lazsvn/fixes_2_6/rtl/inc/rtti.inc:172 #7 GTKDRAGDATARECEIVED(0x84d2a28, 0x84a65f0, 221, 227, 0xbffff49c, 0, 22001922, 0xb7fc3e40) at ./gtk2/gtk2callback.inc:3329 #8 ?? at :0 #9 g_closure_invoke at :0 #10 ?? at :0 #11 g_signal_emit_valist at :0 #12 g_signal_emit_by_name at :0 #13 ?? at :0 #14 ?? at :0 #15 g_closure_invoke at :0 #16 ?? at :0 #17 g_signal_emit_valist at :0 #18 g_signal_emit_by_name at :0 #19 ?? at :0 #20 gtk_selection_convert at :0 #21 ?? at :0 #22 ?? at :0 #23 gtk_main_do_event at :0 #24 ?? at :0 #25 g_main_context_dispatch at :0 #26 ?? at :0 #27 g_main_context_iteration at :0 #28 TGTK2WIDGETSET__APPPROCESSMESSAGES(<error reading variable>) at ./gtk2/gtk2widgetset.inc:2320 #29 TAPPLICATION__HANDLEMESSAGE(<error reading variable>) at ./include/application.inc:1280 #30 TAPPLICATION__RUNLOOP(<error reading variable>) at ./include/application.inc:1413 #31 TWIDGETSET__APPRUN(0x80932d0 <TAPPLICATION__RUNLOOP>, <error reading variable>) at ./include/interfacebase.inc:60 #32 TAPPLICATION__RUN(<error reading variable>) at ./include/application.inc:1401 #33 main at project1.lpr:20 -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
