Wayland client: Don't applyConfigure for destroyed surface

If a window is rapidly hidden and re-shown multiple times, the configure
for a deleted wl_surface may be invoked after a new surface has been
created. This change makes sure we always reset mWaitingToApplyConfigure
before a new wl_surface is created. The superfluous applyConfigure
invocation will then be safely ignored.

Fixes: QTBUG-96464
Pick-to: 6.2
Change-Id: Ie2d718f77dc8de93674c6b86b5128c4f50414df1
Reviewed-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
This commit is contained in:
Paul Olav Tvete 2021-09-23 14:13:26 +02:00
parent 8bedacb8d3
commit 430ab36bb4

View File

@ -261,6 +261,7 @@ void QWaylandWindow::reset()
mFrameCallbackElapsedTimer.invalidate();
mWaitingForFrameCallback = false;
mFrameCallbackTimedOut = false;
mWaitingToApplyConfigure = false;
mMask = QRegion();
mQueuedBuffer = nullptr;