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>
This commit is contained in:
Tor Arne Vestbø 2015-12-14 14:29:22 +01:00 committed by Sean Harmer
parent 7f92edb7ac
commit 980fd570cd

View File

@ -2003,14 +2003,11 @@ void QXcbWindow::handleConfigureNotifyEvent(const xcb_configure_notify_event_t *
// be queried in the resize event. // be queried in the resize event.
QPlatformWindow::setGeometry(actualGeometry); QPlatformWindow::setGeometry(actualGeometry);
// As we're delivering the geometry change through QPA in n async fashion we can't // FIXME: In the case of the requestedGeometry not matching the actualGeometry due
// pass on the current geometry of the QWindowPrivate, as that may have not been // to e.g. the window manager applying restrictions to the geometry, the application
// updated yet by a geometry change that's still in the QPA event queue. Instead // will never see a move/resize event if the actualGeometry is the same as the current
// we fall back to the default argument value of QRect(), which will result in // geometry, and may think the requested geometry was fulfilled.
// QGuiApplication looking up the previous geometry from QWindowPrivate, but this QWindowSystemInterface::handleGeometryChange(window(), actualGeometry);
// time in sync with the even delivery/processing.
QWindowSystemInterface::handleGeometryChange(window(), actualGeometry,
requestedGeometry != actualGeometry ? requestedGeometry : QRect());
// QPlatformScreen::screen() is updated asynchronously, so we can't compare it // QPlatformScreen::screen() is updated asynchronously, so we can't compare it
// with the newScreen. Just send the WindowScreenChanged event and QGuiApplication // with the newScreen. Just send the WindowScreenChanged event and QGuiApplication