diff --git a/0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch b/0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch new file mode 100644 index 0000000..52a7795 --- /dev/null +++ b/0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch @@ -0,0 +1,34 @@ +From 7fbac131624007745e726e7006706d0e8761e463 Mon Sep 17 00:00:00 2001 +From: Nicolas Fella +Date: Sun, 21 Aug 2022 16:33:50 +0200 +Subject: [PATCH] [widgetexplorer] Don't recurse into applet's containments + +The intention of this code appears to be finding system tray applets, since the systemtray is a containment within another applet/containment + +However the code causes an infinit recursion since we are calling addContainment on the same containment again + +The recursion also is unnecessary since corona->containments() already lists the system tray containment, so we don't need to find it by recursing through the panel's children + +(cherry picked from commit c7ba560ccaac5e469cb2d6bf66c39e1acf967454) +--- + components/shellprivate/widgetexplorer/widgetexplorer.cpp | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/components/shellprivate/widgetexplorer/widgetexplorer.cpp b/components/shellprivate/widgetexplorer/widgetexplorer.cpp +index bd7db9518..0022a1247 100644 +--- a/components/shellprivate/widgetexplorer/widgetexplorer.cpp ++++ b/components/shellprivate/widgetexplorer/widgetexplorer.cpp +@@ -280,10 +280,6 @@ void WidgetExplorerPrivate::addContainment(Containment *containment) + + foreach (Applet *applet, containment->applets()) { + if (applet->pluginMetaData().isValid()) { +- Containment *childContainment = applet->property("containment").value(); +- if (childContainment) { +- addContainment(childContainment); +- } + runningApplets[applet->pluginMetaData().pluginId()]++; + } else { + qDebug() << "Invalid plugin metadata. :("; +-- +2.37.3 + diff --git a/plasma5-workspace.changes b/plasma5-workspace.changes index 08ed295..096fdc9 100644 --- a/plasma5-workspace.changes +++ b/plasma5-workspace.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Sep 8 20:29:10 UTC 2022 - Fabian Vogt + +- Add patch to fix widget explorer crash (kde#458829): + * 0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch + ------------------------------------------------------------------- Tue Sep 6 16:56:24 UTC 2022 - Fabian Vogt diff --git a/plasma5-workspace.spec b/plasma5-workspace.spec index 050fffc..3bdae6d 100644 --- a/plasma5-workspace.spec +++ b/plasma5-workspace.spec @@ -41,6 +41,8 @@ Source1: https://download.kde.org/stable/plasma/%{version}/plasma-workspa Source2: plasma.keyring %endif Source3: xprop-kde-full-session.desktop +# PATCH-FIX-UPSTREAM +Patch1: 0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch # PATCHES 501-??? are PATCH-FIX-OPENSUSE Patch501: 0001-Use-qdbus-qt5.patch Patch502: 0001-Ignore-default-sddm-face-icons.patch