Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.5.0 Alpha
-
None
-
Linux, XCB, EGL, OpenGL ES 2, Mesa drivers.
commit: f4b8697c40bd476ef6bf83418e144adce7c7d4a3
-
259b2b6cd76cbd86c6db1db782b5678df0686749
Description
Steps to reproduce:
- Start Qt Creator
- Plug or unplug a monitor
Backtrace:
#0 0x00007ffff588b6bc in QPlatformWindow::window() const (this=0x10) at /home/thiago/src/qt/qt5/qtbase/src/gui/kernel/qplatformwindow.cpp:70 #1 0x00007ffff05eaaf6 in QXcbWindow::maybeSetScreen(QXcbScreen*) (this=0x0, screen=0x659860) at /home/thiago/src/qt/qt5/qtbase/src/plugins/platforms/xcb/qxcbwindow.cpp:573 #2 0x00007ffff05e5389 in QXcbScreen::handleScreenChange(xcb_randr_screen_change_notify_event_t*) (this=0x659860, change_event=0x7fffe80034a0) at /home/thiago/src/qt/qt5/qtbase/src/plugins/platforms/xcb/qxcbscreen.cpp:402 #3 0x00007ffff05cbc83 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) (this=0x645aa0, event=0x7fffe80034a0) at /home/thiago/src/qt/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:956 #4 0x00007ffff05cccf0 in QXcbConnection::processXcbEvents() (this=0x645aa0) at /home/thiago/src/qt/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1258 #5 0x00007ffff0634620 in QXcbConnection::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x645aa0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fffe80034d0) at .moc/moc_qxcbconnection.cpp:165 #6 0x00007ffff702e3b5 in QMetaCallEvent::placeMetaCall(QObject*) (this=0x7fffe8003360, object=0x645aa0) at /home/thiago/src/qt/qt5/qtbase/src/corelib/kernel/qobject.cpp:486 #7 0x00007ffff702f41c in QObject::event(QEvent*) (this=0x645aa0, e=0x7fffe8003360) at /home/thiago/src/qt/qt5/qtbase/src/corelib/kernel/qobject.cpp:1246 #8 0x00007ffff05ce037 in QXcbConnection::event(QEvent*) (this=0x645aa0, e=0x7fffe8003360) at /home/thiago/src/qt/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1836 #9 0x00007ffff7481d46 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=0x6332f0, receiver=0x645aa0, e=0x7fffe8003360) at /home/thiago/src/qt/qt5/qtbase/src/widgets/kernel/qapplication.cpp:3716
Around frame 2:
qxcbscreen.cpp:398ff
398 // Windows which had null screens have already had expose events by now. 399 // They need to be told the screen is back, it's OK to render. 400 foreach (QWindow *window, QGuiApplication::topLevelWindows()) { 401 QXcbWindow *xcbWin = static_cast<QXcbWindow*>(window->handle()); 402 xcbWin->maybeSetScreen(this); 403 } 404 }