40 lines
1.3 KiB
Diff
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
|
|
|