[Qt-interest] Drag and Drop when source is deleted
Bo Thorsen
bo at fioniasoftware.dk
Fri May 20 10:45:01 CEST 2011
Den 19-05-2011 17:54, Martin Grossberger skrev:
> Hello all,
>
> I have an issue with Drag&Drop, with which I hope you can help me:
> I have subclassed (twice) a QWidget and enabled dragging it. The widget
> also gets automatically deleted when an event hits.
> Now, if the widget gets deleted while I am dragging it, I can continue
> dragging, however once I drop it somewhere, the program crashes. The
> stacktrace from the debugger is:
> 0 QDrag::setMimeData qdrag.cpp 145 0x047eb579
> 1 QDragManager::drag qdnd_win.cpp 973 0x0484fa75
> 2 QDrag::start qdrag.cpp 314 0x047eb8b6
> 3 MyCustomWidget::dragEvent mycustomwidget.cpp 1285 0x0041ca80
> 4 MyWidget::mouseMoveEvent mywidget.cpp 573 0x00526286
> 5 MyCustomWidget::mouseMoveEvent mycustomwidget.cpp 1486
> 0x0041e814
> 6 QWidget::event qwidget.cpp 7983 0x0482cee8
> 7 QApplicationPrivate::notify_helper qapplication.cpp 4300
> 0x047e2520
> 8 QApplication::notify qapplication.cpp 3865 0x047e0723
> 9 QCoreApplication::notifyInternal qcoreapplication.cpp 704
> 0x6a1fd302
> 10 QCoreApplication::sendSpontaneousEvent qcoreapplication.h
> 218 0x04e36eba
> 11 QApplicationPrivate::sendMouseEvent qapplication.cpp 2963
> 0x047def40
> 12 QETWidget::translateMouseEvent qapplication_win.cpp 3230
> 0x04847f10
> 13 QtWndProc at 16 qapplication_win.cpp 1623 0x0484309d
> 14 USER32!IsDialogMessageW C:\Windows\syswow64\user32.dll 0
> 0x75fa6238
> 15 ?? 0 0x00141dec
> 16 ?? 0 0x00000200
> 17 USER32!AllowForegroundActivation
> C:\Windows\syswow64\user32.dll 0 0x75fa68ea
> 18 qt_is_translatable_mouse_event qapplication_win.cpp 1395
> 0x04842675
> 19 USER32!GetMessageExtraInfo C:\Windows\syswow64\user32.dll
> 0 0x75fa7d31
> 20 ?? 0 0x00000000
> ...<Mehr>
>
> Is there something I can do to prevent the crash (other than deleting
> the widget)? Did I miss something?
It sounds like you are trying to drag the widget? If that's the case,
you have to rewrite this. You have to drag only data, not active objects.
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