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

openSUSE Build Service is sponsored by