libqt5-qtwayland/0002-Guard-mResizeDirty-by-the-correctMutex.patch
Christophe Giboudeaux d825f60c24 Accepting request 951555 from home:Vogtinator:qt5.15
- Add patches to fix applications not updating after some time (kde#449163):
  * 0001-Client-Remove-mWaitingForUpdateDelivery.patch
  * 0002-Guard-mResizeDirty-by-the-correctMutex.patch
  * 0003-Fix-up-mutexes-for-frame-callbacks.patch
- Add patch to fix several feature detection tests:
  * 0001-Use-proper-dependencies-in-compile-tests.patch

OBS-URL: https://build.opensuse.org/request/show/951555
OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwayland?expand=0&rev=20
2022-02-04 11:49:31 +00:00

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