summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2017-08-02 14:31:36 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2017-08-03 11:23:41 +0000
commit51446c3c6fcd906c6306f268199c67eeb26fe4e3 (patch)
tree1940da10cf482db8801605e3f768f5694c75eccf /src/plugins/platforms
parentd12d2949d1e4ac08a47928ef27bc45459b3fb104 (diff)
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 <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow.cpp9
1 files changed, 3 insertions, 6 deletions
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()));
}