diff options
author | Laszlo Agocs <laszlo.agocs@qt.io> | 2016-12-21 19:11:17 +0100 |
---|---|---|
committer | Andy Nichols <andy.nichols@qt.io> | 2016-12-25 14:44:50 +0000 |
commit | 7980e92e8939ba7d737c618c95dcf6b750e65911 (patch) | |
tree | 052278452a3147dc511e95180f3ab05ef492a687 /src/plugins/platforms/eglfs | |
parent | 5882866768ae24ef31f9feda4765fea17375fbcb (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.cpp | 5 |
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 |