38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
|
From 133b84352063dd959ae0cf21888dd10aa1443b76 Mon Sep 17 00:00:00 2001
|
||
|
From: David Edmundson <davidedmundson@kde.org>
|
||
|
Date: Thu, 3 Feb 2022 19:42:33 +0000
|
||
|
Subject: [PATCH 2/3] Guard mResizeDirty by the correctMutex
|
||
|
|
||
|
mResizeDirty is used in the GUI thread in setCanResize which can be
|
||
|
called from the GUI thread. It is queried and set whilst the resizeLock
|
||
|
is held. We need to guard our usage.
|
||
|
|
||
|
Change-Id: I5f8dcf8aa2cb2c4bb6274103df1da9e3e268605a
|
||
|
---
|
||
|
src/client/qwaylandwindow.cpp | 7 ++++---
|
||
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
|
||
|
index 30ae5345..61700b32 100644
|
||
|
--- a/src/client/qwaylandwindow.cpp
|
||
|
+++ b/src/client/qwaylandwindow.cpp
|
||
|
@@ -357,11 +357,12 @@ void QWaylandWindow::setGeometry(const QRect &rect)
|
||
|
if (mWindowDecoration)
|
||
|
mWindowDecoration->update();
|
||
|
|
||
|
- if (mResizeAfterSwap && windowType() == Egl && mSentInitialResize)
|
||
|
+ if (mResizeAfterSwap && windowType() == Egl && mSentInitialResize) {
|
||
|
+ QMutexLocker lock(&mResizeLock);
|
||
|
mResizeDirty = true;
|
||
|
- else
|
||
|
+ } else {
|
||
|
QWindowSystemInterface::handleGeometryChange(window(), geometry());
|
||
|
-
|
||
|
+ }
|
||
|
mSentInitialResize = true;
|
||
|
}
|
||
|
QRect exposeGeometry(QPoint(), geometry().size());
|
||
|
--
|
||
|
2.34.0
|
||
|
|