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>
This commit is contained in:
Laszlo Agocs 2016-12-21 19:11:17 +01:00 committed by Andy Nichols
parent 5882866768
commit 7980e92e89

View File

@ -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