From ccbabe322f5e07c6bfe6481f0702301e06674eb0d8d4ca63330a78983425b777 Mon Sep 17 00:00:00 2001 From: Fabian Vogt Date: Sat, 10 Sep 2022 09:32:25 +0000 Subject: [PATCH] Accepting request 1002202 from home:Vogtinator:plasma5.25 - Add patch to fix widget explorer crash (kde#458829): * 0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch OBS-URL: https://build.opensuse.org/request/show/1002202 OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/plasma5-workspace?expand=0&rev=658 --- ...on-t-recurse-into-applet-s-containme.patch | 34 +++++++++++++++++++ plasma5-workspace.changes | 6 ++++ plasma5-workspace.spec | 2 ++ 3 files changed, 42 insertions(+) create mode 100644 0001-widgetexplorer-Don-t-recurse-into-applet-s-containme.patch 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