diff options
Diffstat (limited to 'source/kde')
-rw-r--r-- | source/kde/kde/build/kidletime | 2 | ||||
-rw-r--r-- | source/kde/kde/patch/kidletime.patch | 1 | ||||
-rw-r--r-- | source/kde/kde/patch/kidletime/a0da010b8c4c97792543d24f6597ba1c1b3ceaef.patch | 56 |
3 files changed, 58 insertions, 1 deletions
diff --git a/source/kde/kde/build/kidletime b/source/kde/kde/build/kidletime index d00491fd7..0cfbf0888 100644 --- a/source/kde/kde/build/kidletime +++ b/source/kde/kde/build/kidletime @@ -1 +1 @@ -1 +2 diff --git a/source/kde/kde/patch/kidletime.patch b/source/kde/kde/patch/kidletime.patch new file mode 100644 index 000000000..5d8e5e302 --- /dev/null +++ b/source/kde/kde/patch/kidletime.patch @@ -0,0 +1 @@ +cat $CWD/patch/kidletime/a0da010b8c4c97792543d24f6597ba1c1b3ceaef.patch | patch -p1 --verbose || { touch ${SLACK_KDE_BUILD_DIR}/${PKGNAME}.failed ; continue ; } diff --git a/source/kde/kde/patch/kidletime/a0da010b8c4c97792543d24f6597ba1c1b3ceaef.patch b/source/kde/kde/patch/kidletime/a0da010b8c4c97792543d24f6597ba1c1b3ceaef.patch new file mode 100644 index 000000000..da2faa692 --- /dev/null +++ b/source/kde/kde/patch/kidletime/a0da010b8c4c97792543d24f6597ba1c1b3ceaef.patch @@ -0,0 +1,56 @@ +From a0da010b8c4c97792543d24f6597ba1c1b3ceaef Mon Sep 17 00:00:00 2001 +From: David Redondo <kde@david-redondo.de> +Date: Thu, 16 Feb 2023 12:16:03 +0100 +Subject: [PATCH] wayland: Guard wayland object destructors + +Kidletime is a singleton and the client API works by supplying ints to add +or remove timeouts. When not all timeouts are removed before program exits, +trying to destroy the wayland objects will crash since the lifetime of the +wayland connection is tied to the QGuiApplication. +BUG:465801 +FIXED-IN:5.104 + + +(cherry picked from commit 53779a8d8fb177762d0435634c8ca45b0a47f1db) +--- + src/plugins/wayland/poller.cpp | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/src/plugins/wayland/poller.cpp b/src/plugins/wayland/poller.cpp +index 918766b..9c1d7ad 100644 +--- a/src/plugins/wayland/poller.cpp ++++ b/src/plugins/wayland/poller.cpp +@@ -50,7 +50,9 @@ public: + + ~IdleTimeoutKwin() + { +- release(); ++ if (qGuiApp) { ++ release(); ++ } + } + + protected: +@@ -74,7 +76,9 @@ public: + + ~IdleTimeoutExt() + { +- destroy(); ++ if (qGuiApp) { ++ destroy(); ++ } + } + + protected: +@@ -120,7 +124,7 @@ public: + } + ~IdleManagerExt() + { +- if (isActive()) { ++ if (qGuiApp && isActive()) { + destroy(); + } + } +-- +GitLab + |