From 51446c3c6fcd906c6306f268199c67eeb26fe4e3 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Wed, 2 Aug 2017 14:31:36 +0200 Subject: Fix Q(Quick)Window on eglfs The call to QPlatformWindow::setRect (for storing into d->rect) was in the wrong place. It has to be the potentially-overridden value. Amends 3a31c708790ba2bb3cf3dab32a17a83659a1acde Task-number: QTBUG-57608 Change-Id: Id3c35e2dc178f7bd2f9643e8ae4754c8f2f39240 Reviewed-by: Friedemann Kleint --- src/plugins/platforms/eglfs/api/qeglfswindow.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp index 6aaf0d6d6d..f3efbea60b 100644 --- a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp @@ -235,18 +235,15 @@ void QEglFSWindow::setVisible(bool visible) void QEglFSWindow::setGeometry(const QRect &r) { - // Persist the requested rect, like a normal setGeometry call - QPlatformWindow::setGeometry(r); - - // Take care of WM behavior, constrain/modify geometry QRect rect = r; if (m_flags.testFlag(HasNativeWindow)) rect = screen()->availableGeometry(); - // React to the setGeometry, as if from a WM callback - QRect lastReportedGeometry = qt_window_private(window())->geometry; + QPlatformWindow::setGeometry(rect); + QWindowSystemInterface::handleGeometryChange(window(), rect); + const QRect lastReportedGeometry = qt_window_private(window())->geometry; if (rect != lastReportedGeometry) QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), rect.size())); } -- cgit v1.2.3