summaryrefslogtreecommitdiffstats
path: root/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland/0001-Fix-timer-leak-and-a-potential-race.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland/0001-Fix-timer-leak-and-a-potential-race.patch')
-rw-r--r--meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland/0001-Fix-timer-leak-and-a-potential-race.patch42
1 files changed, 0 insertions, 42 deletions
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland/0001-Fix-timer-leak-and-a-potential-race.patch b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland/0001-Fix-timer-leak-and-a-potential-race.patch
deleted file mode 100644
index 642eabc4b..000000000
--- a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtwayland/0001-Fix-timer-leak-and-a-potential-race.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From f4d3297e6705cc524729d629bf94db11841dbb24 Mon Sep 17 00:00:00 2001
-From: Simon Yuan <simon.yuan@navico.com>
-Date: Thu, 7 Nov 2019 09:22:37 +1300
-Subject: [PATCH] Fix timer leak and a potential race
-
-The callback timer is now killed immediately before starting a new timer, this
-makes sure there is always a single active callback timer. It's unclear why
-killing the timer in a separate lambda doesn't always kill the timer in time,
-the hypothesis is that if killing the timer comes after starting a new one, then
-the previous timer is now left dangling. Whatever the reason is, it makes even
-more sense to kill the timer in the same lamda and immediately before starting a
-new timer anyway.
----
- src/client/qwaylandwindow.cpp | 11 +++++------
- 1 file changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/src/client/qwaylandwindow.cpp b/src/client/qwaylandwindow.cpp
-index 0df99d9f..93b46bf1 100644
---- a/src/client/qwaylandwindow.cpp
-+++ b/src/client/qwaylandwindow.cpp
-@@ -1136,13 +1136,12 @@ void QWaylandWindow::handleUpdate()
- mWaitingForFrameCallback = true;
- mWaitingForUpdate = false;
-
-- // Stop current frame timer if any, can't use killTimer directly, see comment above.
-- int fcbId = mFrameCallbackTimerId.fetchAndStoreOrdered(-1);
-- if (fcbId != -1)
-- QMetaObject::invokeMethod(this, [this, fcbId] { killTimer(fcbId); }, Qt::QueuedConnection);
--
- // Start a timer for handling the case when the compositor stops sending frame callbacks.
-- QMetaObject::invokeMethod(this, [this] { // Again; can't do it directly
-+ // Can't use killTimer directly, see comment above.
-+ QMetaObject::invokeMethod(this, [this] {
-+ int fcbId = mFrameCallbackTimerId.fetchAndStoreOrdered(-1);
-+ if (fcbId != -1)
-+ killTimer(fcbId);
- if (mWaitingForFrameCallback)
- mFrameCallbackTimerId = startTimer(100);
- }, Qt::QueuedConnection);
---
-2.25.1
-