Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.7.2
-
None
-
An X11 with two independent X11 screens (colloquially known as "Zaphode mode").
Description
On a system with several independent X11 screens (colloquially also known as "zaphode mode") an attempt to drag anything to a different screen from a Qt application results in a segfault.
A sample backtrace from draggableicons example:
#0 0x00007ffff68146b2 in QScopedPointer<QPlatformScreenPrivate, QScopedPointerDeleter<QPlatformScreenPrivate> >::get (this=0x8) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/tools/qscopedpointer.h:112 #1 0x00007ffff6814379 in qGetPtrHelper<QScopedPointer<QPlatformScreenPrivate, QScopedPointerDeleter<QPlatformScreenPrivate> > const> (ptr=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/global/qtclasshelpermacros.h:79 #2 0x00007ffff6813ece in QPlatformScreen::d_func (this=0x0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qplatformscreen.h:45 #3 0x00007ffff6812ede in QPlatformScreen::screen (this=0x0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qplatformscreen.cpp:115 #4 0x00007ffff2b9b72d in QXcbDrag::move (this=0x5555555dd550, globalPos=..., b=..., mods=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/plugins/platforms/xcb/qxcbdrag.cpp:354 #5 0x00007ffff6ccce49 in QBasicDrag::eventFilter (this=0x5555555dd550, o=0x5555555fd5e0, e=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qsimpledrag.cpp:123 #6 0x00007ffff2b9a016 in QXcbDrag::eventFilter (this=0x5555555dd550, o=0x5555555fd5e0, e=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/plugins/platforms/xcb/qxcbdrag.cpp:137 #7 0x00007ffff60989fa in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x555555588340, receiver=0x55555559d5c0, event=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1261 #8 0x00007ffff7a80b66 in QApplicationPrivate::notify_helper (this=0x555555588340, receiver=0x55555559d5c0, e=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3258 #9 0x00007ffff7a80aba in QApplication::notify (this=0x7fffffffca20, receiver=0x55555559d5c0, e=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3238 #10 0x00007ffff6098755 in QCoreApplication::notifyInternal2 (receiver=0x55555559d5c0, event=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1142 #11 0x00007ffff609925f in QCoreApplication::sendSpontaneousEvent (receiver=0x55555559d5c0, event=0x7fffffffb180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1597 #12 0x00007ffff67aec99 in QGuiApplicationPrivate::processMouseEvent (e=0x555555599180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qguiapplication.cpp:2327 #13 0x00007ffff67ae00c in QGuiApplicationPrivate::processWindowSystemEvent (e=0x555555599180) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qguiapplication.cpp:2071 #14 0x00007ffff6863f9a in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qwindowsysteminterface.cpp:1114 #15 0x00007ffff2b47210 in xcbSourceDispatch (source=0x5555555de0f0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57 #16 0x00007ffff5527166 in ?? () from /usr/lib64/libglib-2.0.so.0 #17 0x00007ffff552a287 in ?? () from /usr/lib64/libglib-2.0.so.0 #18 0x00007ffff552a8b0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #19 0x00007ffff5ca2e50 in QEventDispatcherGlib::processEvents (this=0x5555555d7e70, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventdispatcher_glib.cpp:394 #20 0x00007ffff2b4746e in QXcbGlibEventDispatcher::processEvents (this=0x5555555d7e70, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96 #21 0x00007ffff609f553 in QEventLoop::processEvents (this=0x7fffe4003590, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventloop.cpp:100 #22 0x00007ffff609f877 in QEventLoop::exec (this=0x7fffe4003590, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventloop.cpp:182 #23 0x00007ffff6ccd422 in QBasicDrag::drag (this=0x5555555dd550, o=0x5555556220d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qsimpledrag.cpp:176 #24 0x00007ffff6cc6bc6 in QDragManager::drag (this=0x55555560d820, o=0x5555556220d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qdnd.cpp:81 #25 0x00007ffff6cc74fc in QDrag::exec (this=0x5555556220d0, supportedActions=..., defaultDropAction=Qt::CopyAction) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qdrag.cpp:248 #26 0x000055555555871a in DragWidget::mousePressEvent (this=0x5555555e2470, event=0x7fffffffbc10) at /tmp/draggableicons/dragwidget.cpp:125 #27 0x00007ffff7abd74a in QWidget::event (this=0x5555555e2470, event=0x7fffffffbc10) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qwidget.cpp:9021 #28 0x00007ffff799148d in QFrame::event (this=0x5555555e2470, e=0x7fffffffbc10) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/widgets/qframe.cpp:521 #29 0x00007ffff7a80cc8 in QApplicationPrivate::notify_helper (this=0x555555588340, receiver=0x5555555e2470, e=0x7fffffffbc10) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3287 #30 0x00007ffff7a7e8f5 in QApplication::notify (this=0x7fffffffca20, receiver=0x5555555e65b0, e=0x7fffffffbf40) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:2765 #31 0x00007ffff6098755 in QCoreApplication::notifyInternal2 (receiver=0x5555555e65b0, event=0x7fffffffbf40) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1142 #32 0x00007ffff609925f in QCoreApplication::sendSpontaneousEvent (receiver=0x5555555e65b0, event=0x7fffffffbf40) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1597 #33 0x00007ffff7a7d3bc in QApplicationPrivate::sendMouseEvent (receiver=0x5555555e65b0, event=0x7fffffffbf40, alienWidget=0x5555555e65b0, nativeWidget=0x7fffffffca50, buttonDown=0x7ffff7eaee90 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:2347 #34 0x00007ffff7ad230e in QWidgetWindow::handleMouseEvent (this=0x5555555fd5e0, event=0x7fffffffc4d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qwidgetwindow.cpp:649 #35 0x00007ffff7ad0763 in QWidgetWindow::event (this=0x5555555fd5e0, event=0x7fffffffc4d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qwidgetwindow.cpp:263 #36 0x00007ffff7a80cc8 in QApplicationPrivate::notify_helper (this=0x555555588340, receiver=0x5555555fd5e0, e=0x7fffffffc4d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3287 #37 0x00007ffff7a80aba in QApplication::notify (this=0x7fffffffca20, receiver=0x5555555fd5e0, e=0x7fffffffc4d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3238 #38 0x00007ffff6098755 in QCoreApplication::notifyInternal2 (receiver=0x5555555fd5e0, event=0x7fffffffc4d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1142 #39 0x00007ffff609925f in QCoreApplication::sendSpontaneousEvent (receiver=0x5555555fd5e0, event=0x7fffffffc4d0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1597 #40 0x00007ffff67aec99 in QGuiApplicationPrivate::processMouseEvent (e=0x555555596a20) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qguiapplication.cpp:2327 #41 0x00007ffff67ae00c in QGuiApplicationPrivate::processWindowSystemEvent (e=0x555555596a20) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qguiapplication.cpp:2071 #42 0x00007ffff6863f9a in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qwindowsysteminterface.cpp:1114 #43 0x00007ffff2b47210 in xcbSourceDispatch (source=0x5555555de0f0) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:57 #44 0x00007ffff5527166 in ?? () from /usr/lib64/libglib-2.0.so.0 #45 0x00007ffff552a287 in ?? () from /usr/lib64/libglib-2.0.so.0 #46 0x00007ffff552a8b0 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 #47 0x00007ffff5ca2e50 in QEventDispatcherGlib::processEvents (this=0x5555555d7e70, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventdispatcher_glib.cpp:394 #48 0x00007ffff2b4746e in QXcbGlibEventDispatcher::processEvents (this=0x5555555d7e70, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:96 #49 0x00007ffff609f553 in QEventLoop::processEvents (this=0x7fffffffc990, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventloop.cpp:100 #50 0x00007ffff609f877 in QEventLoop::exec (this=0x7fffffffc990, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventloop.cpp:182 #51 0x00007ffff6099040 in QCoreApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1486 #52 0x00007ffff67ad93e in QGuiApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/gui/kernel/qguiapplication.cpp:1926 --Type <RET> for more, q to quit, c to continue without paging-- #53 0x00007ffff7a7dcb9 in QApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.7.2-r5/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:2555 #54 0x0000555555559862 in main (argc=1, argv=0x7fffffffcbb8) at /tmp/draggableicons/main.cpp:21
Edit: The backtrace is replaced with more useful from a debug build of Qt
Edit2: a typo
Attachments
Issue Links
- resulted from
-
QTBUG-110898 Window disappears when monitor is disconnected
- Closed