commit:     5cd1959b364ae83787f02898c433c895525533a3
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec  8 12:48:02 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec  8 15:07:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5cd1959b

kde-frameworks/plasma: Fix plasmashell crashes on wallpaper change

Upstream commits:
9b37459570f75e09f17aadf32f7abfe8b8d4d1e0
77fedf1f9919eb2cc07c8ecccdd70ad2a7343161

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=446195
Package-Manager: Portage-3.0.28, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/plasma-5.88.0-no-double-delete.patch     | 28 +++++++++++++++++++++
 ...asma-5.88.0-update-after-clearing-actions.patch | 29 ++++++++++++++++++++++
 kde-frameworks/plasma/plasma-5.88.0-r2.ebuild      |  2 ++
 3 files changed, 59 insertions(+)

diff --git a/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch 
b/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch
new file mode 100644
index 000000000000..d3a03411b2cf
--- /dev/null
+++ b/kde-frameworks/plasma/files/plasma-5.88.0-no-double-delete.patch
@@ -0,0 +1,28 @@
+From 9b37459570f75e09f17aadf32f7abfe8b8d4d1e0 Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotm...@gmail.com>
+Date: Sat, 4 Dec 2021 17:16:30 +0800
+Subject: [PATCH] wallpaperinterface: Don't double delete action
+
+`removeAction` already deletes the action, it makes no sense to delete
+the action again and will crash plasmashell.
+
+CCBUG: 446195
+---
+ src/scriptengines/qml/plasmoid/wallpaperinterface.cpp | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp 
b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+index 570cf8e45..65adf838e 100644
+--- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
++++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+@@ -229,7 +229,6 @@ void WallpaperInterface::removeAction(const QString &name)
+ 
+     if (action) {
+         m_actions->removeAction(action);
+-        delete action;
+     }
+     setProperty("contextualActions", 
QVariant::fromValue(contextualActions()));
+ }
+-- 
+GitLab
+

diff --git 
a/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch 
b/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch
new file mode 100644
index 000000000000..a30e9b6e5b1d
--- /dev/null
+++ 
b/kde-frameworks/plasma/files/plasma-5.88.0-update-after-clearing-actions.patch
@@ -0,0 +1,29 @@
+From 77fedf1f9919eb2cc07c8ecccdd70ad2a7343161 Mon Sep 17 00:00:00 2001
+From: Fushan Wen <qydwhotm...@gmail.com>
+Date: Sat, 4 Dec 2021 18:08:43 +0800
+Subject: [PATCH] wallpaperinterface: Update "contextualActions" after clearing
+ actions
+
+After clearing the entire action collection, "contextualActions" needs
+to be updated to remove invalid action pointers.
+
+BUG: 446195
+---
+ src/scriptengines/qml/plasmoid/wallpaperinterface.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp 
b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+index 65adf838e..49bdb9512 100644
+--- a/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
++++ b/src/scriptengines/qml/plasmoid/wallpaperinterface.cpp
+@@ -115,6 +115,7 @@ void WallpaperInterface::syncWallpaperPackage()
+     }
+ 
+     m_actions->clear();
++    setProperty("contextualActions", 
QVariant::fromValue(contextualActions()));
+     m_pkg = 
KPackage::PackageLoader::self()->loadPackage(QStringLiteral("Plasma/Wallpaper"));
+     m_pkg.setPath(m_wallpaperPlugin);
+     if (!m_pkg.isValid()) {
+-- 
+GitLab
+

diff --git a/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild 
b/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild
index 8cf6ee9309bb..31c7abb64aaa 100644
--- a/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild
+++ b/kde-frameworks/plasma/plasma-5.88.0-r2.ebuild
@@ -64,6 +64,8 @@ PATCHES=(
        "${FILESDIR}"/${P}-fix-misrenderings-with-transparency.patch # KDE-bug 
305247
        "${FILESDIR}"/${P}-fix-centered-text.patch # KDE-bug 442830
        "${FILESDIR}"/${P}-reload-shared-renderers-if-changed-on-disk.patch # 
KDE-bug 445516
+       "${FILESDIR}"/${P}-no-double-delete.patch # KDE-bug 446195
+       "${FILESDIR}"/${P}-update-after-clearing-actions.patch # KDE-bug 446195
 )
 
 src_configure() {

Reply via email to