summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/xcb
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>2015-12-14 14:29:22 +0100
committerSean Harmer <sean.harmer@kdab.com>2015-12-14 20:23:25 +0000
commit980fd570cd91114d323413e8ddc5313bdb454d18 (patch)
tree9cffebca913cb3fb19d38b309973f072d8fcaa3e /src/plugins/platforms/xcb
parent7f92edb7ac55bc27de25a2274e2d2435d8aaab49 (diff)
xcb: Don't try to detect cases where the WM restricts geometry changes
This caused issues in upstream tests that didn't expect to have their geometry requests not being respected by the WM. Task-number: QTBUG-49912 Change-Id: Iec99f341d81488de6026f04c99dff45a0d3f8587 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src/plugins/platforms/xcb')
-rw-r--r--src/plugins/platforms/xcb/qxcbwindow.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
index bdbb9e9fe0..bec167fec2 100644
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
@@ -2003,14 +2003,11 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
// be queried in the resize event.
QPlatformWindow::setGeometry(actualGeometry);
- // As we're delivering the geometry change through QPA in n async fashion we can't
- // pass on the current geometry of the QWindowPrivate, as that may have not been
- // updated yet by a geometry change that's still in the QPA event queue. Instead
- // we fall back to the default argument value of QRect(), which will result in
- // QGuiApplication looking up the previous geometry from QWindowPrivate, but this
- // time in sync with the even delivery/processing.
- QWindowSystemInterface::handleGeometryChange(window(), actualGeometry,
- requestedGeometry != actualGeometry ? requestedGeometry : QRect());
+ // FIXME: In the case of the requestedGeometry not matching the actualGeometry due
+ // to e.g. the window manager applying restrictions to the geometry, the application
+ // will never see a move/resize event if the actualGeometry is the same as the current
+ // geometry, and may think the requested geometry was fulfilled.
+ QWindowSystemInterface::handleGeometryChange(window(), actualGeometry);
// QPlatformScreen::screen() is updated asynchronously, so we can't compare it
// with the newScreen. Just send the WindowScreenChanged event and QGuiApplication