[Qt-interest] Drag and Drop when source is deleted
Bo Thorsen
bo at fioniasoftware.dk
Fri May 20 11:44:01 CEST 2011
Den 20-05-2011 11:40, Martin Grossberger skrev:
>> Hi
>>
>> Am 20.05.2011 11:04, schrieb Martin Grossberger:
>>> However, the program still crashes before I can even check if the widget
>>> still exists on dropping.
>> Maybe it's not what you are dragin, but the drag object itself. Is it
>> created on the heap or is there a possibility that it gets destroyed if
>> the corresponding widget gets deleted while you are dragging?
>>
>> Alex
>> _______________________________________________
>> Qt-interest mailing list
>> Qt-interest at qt.nokia.com
>> http://lists.qt.nokia.com/mailman/listinfo/qt-interest
> Hi,
>
> It is created on the heap. I've hacked together a minimalistic program
> to reproduce the issue, and it has the same issue.
> To reproduce the issue:
>
> 1. Compile the code attached
> 2. Start dragging the DragWidget and hold it for 5 seconds
> 3. After those 5 seconds the DragWidget gets deleted, if you drop
> now, the program will crash
That's because you have created the drag object with the widget as
QObject parent. So when the widget is deleted, so is the drag object.
Don't do that :)
Bo Thorsen,
Fionia Software.
--
Expert Qt and C++ developer for hire
Contact me if you need expert Qt help
http://www.fioniasoftware.dk
More information about the Qt-interest-old
mailing list