Summary: | Plasmashell crashes in PlasmaQuick::AppletQuickItem::classBegin() when panel contains a widget that has a second PlasmoidItem outside of main.qml | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Jan Rathmann <jan.rathmann> |
Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | nate |
Priority: | NOR | Keywords: | drkonqi, qt6 |
Version: | master | ||
Target Milestone: | 1.0 | ||
Platform: | Neon | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/libplasma/-/commit/38b5d7a6d5b284e5ac5c55c288a4e300905656df | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: | Crashmoid: Minimal test case widget to trigger the crash |
Description
Jan Rathmann
2024-01-05 11:35:00 UTC
Created attachment 164688 [details]
Crashmoid: Minimal test case widget to trigger the crash
This is clearly a broken and invalid plasmoid, but we still shouldn't crash. A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1032 Git commit 1a5c89f58733f8e74b2eead746cca5d57eff325c by Marco Martin. Committed on 16/01/2024 at 20:54. Pushed by mart into branch 'master'. Don't crash when there is an incorrect second PlasmoidItem Declaring a PalsmoidITem or a ContainmentITem anywhere else than the QML root item is not supported and clearly an error, but never the less, it should never crash. this patch puts enough guards that the resulting plasmoid is broken and doesn't do anything, but doesn't crash plasma anymore. M +8 -2 src/plasmaquick/appletquickitem.cpp M +13 -0 src/plasmaquick/plasmoid/containmentitem.cpp M +4 -0 src/plasmaquick/plasmoid/plasmoiditem.cpp M +1 -1 src/plasmaquick/private/appletquickitem_p.h https://invent.kde.org/plasma/libplasma/-/commit/1a5c89f58733f8e74b2eead746cca5d57eff325c Git commit 38b5d7a6d5b284e5ac5c55c288a4e300905656df by Marco Martin. Committed on 16/01/2024 at 20:56. Pushed by mart into branch 'Plasma/6.0'. Don't crash when there is an incorrect second PlasmoidItem Declaring a PalsmoidITem or a ContainmentITem anywhere else than the QML root item is not supported and clearly an error, but never the less, it should never crash. this patch puts enough guards that the resulting plasmoid is broken and doesn't do anything, but doesn't crash plasma anymore. M +8 -2 src/plasmaquick/appletquickitem.cpp M +13 -0 src/plasmaquick/plasmoid/containmentitem.cpp M +4 -0 src/plasmaquick/plasmoid/plasmoiditem.cpp M +1 -1 src/plasmaquick/private/appletquickitem_p.h https://invent.kde.org/plasma/libplasma/-/commit/38b5d7a6d5b284e5ac5c55c288a4e300905656df |