diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2018-07-17 01:00:21 +0200 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2018-07-17 10:19:22 +0200 |
commit | 1783fca89768a9d503d886673643dc4542ec467f (patch) | |
tree | 5055f39393017219e448ade71b3842896c4679c5 /src/plugins/platforms/xcb/qxcbconnection.cpp | |
parent | b82648bd59256abb8e7084e0424a1f8a6a034c34 (diff) | |
parent | 435d1d53bd61491010dbb2130a27e35cd9798965 (diff) |
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts:
src/plugins/platforms/cocoa/qcocoawindow.mm
src/plugins/platforms/xcb/qxcbintegration.cpp
Conflicts git missed:
src/plugins/platforms/qnx/qqnxglcontext.cpp
Change-Id: I0582cdc9e66e43efe79038b9c43d4f9572ac88fc
Diffstat (limited to 'src/plugins/platforms/xcb/qxcbconnection.cpp')
-rw-r--r-- | src/plugins/platforms/xcb/qxcbconnection.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp index 01e67039f1..b4ccb808a0 100644 --- a/src/plugins/platforms/xcb/qxcbconnection.cpp +++ b/src/plugins/platforms/xcb/qxcbconnection.cpp @@ -74,10 +74,12 @@ #include <xcb/xinerama.h> #if QT_CONFIG(xcb_xlib) +#define register /* C++17 deprecated register */ #include <X11/Xlib.h> #include <X11/Xlib-xcb.h> #include <X11/Xlibint.h> #include <X11/Xutil.h> +#undef register #endif #if QT_CONFIG(xcb_xinput) @@ -1213,10 +1215,9 @@ void QXcbConnection::handleXcbEvent(xcb_generic_event_t *event) handled = true; } else if (has_randr_extension && response_type == xrandr_first_event + XCB_RANDR_SCREEN_CHANGE_NOTIFY) { xcb_randr_screen_change_notify_event_t *change_event = reinterpret_cast<xcb_randr_screen_change_notify_event_t *>(event); - for (QXcbScreen *s : qAsConst(m_screens)) { - if (s->root() == change_event->root ) - s->handleScreenChange(change_event); - } + if (auto *virtualDesktop = virtualDesktopForRootWindow(change_event->root)) + virtualDesktop->handleScreenChange(change_event); + handled = true; #if QT_CONFIG(xkb) } else if (response_type == xkb_first_event) { // https://bugs.freedesktop.org/show_bug.cgi?id=51295 |