summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWeng Xuetian <wengxt@gmail.com>2023-11-10 19:43:37 -0800
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-11-13 19:28:21 +0000
commit18f942f3f3a99544f379c66578f14b28cafcef22 (patch)
tree8071c25ef583f65963fb68034a451d21edacd7d9
parent55b9bc0ec73827475ae7215fb3b93b8ef8245d6e (diff)
client: Always clear queued buffer busy flag when resetting the window
In 39a003942ebab39a1d3b8bc64f41d0c68e92f4bf, 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 Change-Id: Id0bdd3caa69c821bb84927f01b4839f46eee8a10 Reviewed-by: David Edmundson <davidedmundson@kde.org> Reviewed-by: David Redondo <qt@david-redondo.de> (cherry picked from commit 6fe83f6076423068b652fa4fcb0b5adbd297f2a8) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/client/qwaylandwindow.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 4841ba95b..b81e00ef2 100644
--- a/src/client/qwaylandwindow.cpp
+++ b/src/client/qwaylandwindow.cpp
@@ -310,6 +310,9 @@ void QWaylandWindow::reset()
mOpaqueArea = QRegion();
mMask = QRegion();
+ if (mQueuedBuffer) {
+ mQueuedBuffer->setBusy(false);
+ }
mQueuedBuffer = nullptr;
mQueuedBufferDamage = QRegion();