Files
2023-11-19 19:49:37 +03:00

40 lines
1.3 KiB
Diff

From 18f942f3f3a99544f379c66578f14b28cafcef22 Mon Sep 17 00:00:00 2001
From: Weng Xuetian <wengxt@gmail.com>
Date: Fri, 10 Nov 2023 19:43:37 -0800
Subject: 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>
---
src/client/qwaylandwindow.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
index 4841ba95..b81e00ef 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();
--
cgit v1.2.3