summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/eglfs
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2016-12-21 19:11:17 +0100
committerAndy Nichols <andy.nichols@qt.io>2016-12-25 14:44:50 +0000
commit7980e92e8939ba7d737c618c95dcf6b750e65911 (patch)
tree052278452a3147dc511e95180f3ab05ef492a687 /src/plugins/platforms/eglfs
parent5882866768ae24ef31f9feda4765fea17375fbcb (diff)
eglfs: generate an expose whenever the geometry is changing
Relevant for QWidget apps with multiple top-level widgets. With real windowing systems a resize will result in an expose. Follow suit. Task-number: QTBUG-57747 Change-Id: I9c6e9fa5e073f85a695df07d63176b1d2d657f25 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'src/plugins/platforms/eglfs')
-rw-r--r--src/plugins/platforms/eglfs/api/qeglfswindow.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp
index 12108fd1c4..9b4732eab4 100644
--- a/src/plugins/platforms/eglfs/api/qeglfswindow.cpp
+++ b/src/plugins/platforms/eglfs/api/qeglfswindow.cpp
@@ -131,7 +131,6 @@ void QEglFSWindow::create()
m_flags |= HasNativeWindow;
setGeometry(QRect()); // will become fullscreen
- QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), geometry().size()));
resetSurface();
@@ -243,11 +242,15 @@ void QEglFSWindow::setGeometry(const QRect &r)
else
rect = r;
+ const bool changed = rect != QPlatformWindow::geometry();
QPlatformWindow::setGeometry(rect);
// if we corrected the size, trigger a resize event
if (rect != r)
QWindowSystemInterface::handleGeometryChange(window(), rect, r);
+
+ if (changed)
+ QWindowSystemInterface::handleExposeEvent(window(), QRect(QPoint(0, 0), rect.size()));
}
QRect QEglFSWindow::geometry() const