File Check-if-containment-exists-before-using-it-updateExclusiveZone.patch of Package plasma6-workspace
From 5cf0241797e9df5ce28b4330a93a43cf045f6ae8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Kettunen?= <bjorn.kettunen@thaodan.de>
Date: Mon, 8 Dec 2025 14:51:16 +0200
Subject: [PATCH 1/2] Check if containment exists before using it.
Without this check Plasmashell crashes in
Plasma::Containment::screen() when called by PanelView::canSetStrut().
This crash happens when the window manager isn't Kwin.
BUG: 511428
Fixes: cbfa8d76d089d7e934d2b4cfe8d917a6df1a37ef (Make all panels reserve space when in edit mode)
---
shell/panelview.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/shell/panelview.cpp b/shell/panelview.cpp
index e3a7f5b0ef..0a1f071817 100644
--- a/shell/panelview.cpp
+++ b/shell/panelview.cpp
@@ -1544,6 +1544,9 @@ bool PanelView::canSetStrut() const
void PanelView::updateExclusiveZone()
{
+ if (!containment()) {
+ return;
+ }
if (m_corona->isEditMode() && m_layerWindow && m_layerWindow->exclusionZone() == -1) {
// We set the exclusve zone to make sure the ruler does not
// overlap with the panel regardless of the visibility mode,
--
GitLab
From 510def6eb9e552fa5ae27caa03906858ad103fe8 Mon Sep 17 00:00:00 2001
From: Tobias Fella <tobias.fella@kde.org>
Date: Mon, 9 Feb 2026 11:09:58 +0100
Subject: [PATCH 2/2] Call updateExclusiveZone in refreshContainment
---
shell/panelview.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/shell/panelview.cpp b/shell/panelview.cpp
index 0a1f071817..ca2b39fe87 100644
--- a/shell/panelview.cpp
+++ b/shell/panelview.cpp
@@ -1677,6 +1677,7 @@ void PanelView::refreshContainment()
connect(m_corona, &Plasma::Corona::editModeChanged, this, [this](bool edit) {
updateExclusiveZone();
});
+ updateExclusiveZone();
connect(cont, &Plasma::Containment::userConfiguringChanged, this, [this](bool configuring) {
if (configuring) {
showTemporarily();
--
GitLab