Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.1.0
-
None
-
Qt 5.1.2 on Arch Linux, self-built from git.
Qt 5.1.0 from Arch packages
Description
I'm currently having a problem with drag&drop in my app (https://github.com/peterix/MultiMC5)
Basically, I have this:
A main window.
A modal QDialog, opened from the main window.
A QTreeView subclass in that dialog.
A model is used in that view, which has drag and drop enabled - it accepts URLs and provides/accepts a custom data type I use for internal movement of items.
I drag and drop inside the view, moving an item.
I try to drag a file into the app, it causes a segfault while the mouse passes over the window(s).
This doesn't happen when I just drag in files from outside, I do have to drag inside the view to cause the problem.
The model: https://github.com/peterix/MultiMC5/blob/master/logic/ModList.cpp
The view: https://github.com/peterix/MultiMC5/blob/master/gui/ModListView.cpp
The dialog: https://github.com/peterix/MultiMC5/blob/master/gui/LegacyModEditDialog.cpp
Are there any possible workarounds I could use in my code without rebuilding/fixing Qt?
Stack trace follows _
#0 QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data() at /home/peterix/qt5/qtbase/src/corelib/tools/qscopedpointer.h:132
#1 qGetPtrHelper<QScopedPointer<QObjectData> >() at /home/peterix/qt5/qtbase/src/corelib/global/qglobal.h:886
#2 QObject::d_func() at /home/peterix/qt5/qtbase/src/corelib/kernel/qobject.h:118
#3 QMetaObject::activate() at /home/peterix/qt5/qtbase/src/corelib/kernel/qobject.cpp:3364
#4 QMetaObject::activate() at /home/peterix/qt5/qtbase/src/corelib/kernel/qobject.cpp:3354
#5 QDrag::actionChanged() at /home/peterix/qt5/qtbase/src/gui/.moc/debug-shared/moc_qdrag.cpp:136
#6 QPlatformDrag::updateAction() at /home/peterix/qt5/qtbase/src/gui/kernel/qplatformdrag.cpp:225
#7 QXcbDrag::handleLeave() at /home/peterix/qt5/qtbase/src/plugins/platforms/xcb/qxcbdrag.cpp:875
#8 QXcbWindow::handleClientMessageEvent() at /home/peterix/qt5/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp:1527
#9 QXcbConnection::handleClientMessageEvent() at /home/peterix/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1201
#10 QXcbConnection::handleXcbEvent() at /home/peterix/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:817
#11 QXcbConnection::processXcbEvents() at /home/peterix/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1164
#12 QXcbConnection::qt_static_metacall() at /home/peterix/qt5/qtbase/src/plugins/platforms/xcb/.moc/debug-shared/moc_qxcbconnection.cpp:170
#13 QMetaCallEvent::placeMetaCall() at /home/peterix/qt5/qtbase/src/corelib/kernel/qobject.cpp:479
#14 QObject::event() at /home/peterix/qt5/qtbase/src/corelib/kernel/qobject.cpp:1070
#15 QApplicationPrivate::notify_helper() at /home/peterix/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3457
#16 QApplication::notify() at /home/peterix/qt5/qtbase/src/widgets/kernel/qapplication.cpp:2878
#17 QCoreApplication::notifyInternal() at /home/peterix/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:867
#18 QCoreApplication::sendEvent() at /home/peterix/qt5/qtbase/src/corelib/kernel/qcoreapplication.h:232
#19 QCoreApplicationPrivate::sendPostedEvents() at /home/peterix/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1471
#20 QCoreApplication::sendPostedEvents() at /home/peterix/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1329