Client: Send set_window_geometry only once configured

The geometry only makes sense when a buffer exists, our currently send
value is somewhat meaningless, but till now harmless.

A specification clarification implies that it is an error if the
calculated effective window geometry is null, rather than just checking
the sent value. This is the case if set_window_geometry is sent before a
buffer is attached.

On our first configure call we enter resizeFromApplyConfigure which will
hit this path and send the initial state.

Pick-to: 5.15
Pick-to: 6.1
Pick-to: 6.0
Change-Id: Ib57ebe8b64210eae86e79dfdd6b5cb8a986b020b
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
This commit is contained in:
David Edmundson 2020-11-16 14:57:36 +00:00 committed by Eskil Abrahamsen Blomfeldt
parent 929f5fc2e8
commit 9e9e338679

View File

@ -363,7 +363,7 @@ void QWaylandWindow::setGeometry(const QRect &rect)
if (isExposed() && !mInResizeFromApplyConfigure && exposeGeometry != mLastExposeGeometry)
sendExposeEvent(exposeGeometry);
if (mShellSurface)
if (mShellSurface && isExposed())
mShellSurface->setWindowGeometry(windowContentGeometry());
if (isOpaque() && mMask.isEmpty())