client: Always clear queued buffer busy flag when resetting the window

In 816f41c00d22ca157eed273183f0711d9f1b41c7, the queued buffer is always
set busy, but it may not be reset correctly if the queued buffer is not
ever attached due to hiding the surface when window visibility is
being updated at a very fast speed.

Fixes: QTBUG-118650
Task-number: QTBUG-118650
Pick-to: 6.6
Change-Id: Id0bdd3caa69c821bb84927f01b4839f46eee8a10
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: David Redondo <qt@david-redondo.de>
This commit is contained in:
Weng Xuetian 2023-11-10 19:43:37 -08:00
parent 792f1915fc
commit fa1658f8bf

View File

@ -300,6 +300,9 @@ void QWaylandWindow::reset()
mOpaqueArea = QRegion();
mMask = QRegion();
if (mQueuedBuffer) {
mQueuedBuffer->setBusy(false);
}
mQueuedBuffer = nullptr;
mQueuedBufferDamage = QRegion();