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>
This commit is contained in:
parent
d12d2949d1
commit
51446c3c6f
@ -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()));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user