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:
parent
7f92edb7ac
commit
980fd570cd
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user