diff --git a/0001-shell-avoid-potential-crash-when-previous-window-is-.patch b/0001-shell-avoid-potential-crash-when-previous-window-is-.patch new file mode 100644 index 0000000..11158e8 --- /dev/null +++ b/0001-shell-avoid-potential-crash-when-previous-window-is-.patch @@ -0,0 +1,37 @@ +From fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c Mon Sep 17 00:00:00 2001 +From: Fushan Wen +Date: Fri, 4 Aug 2023 12:40:17 +0800 +Subject: [PATCH] shell: avoid potential crash when previous window is gone + before returning focus + +m_previousPlasmaWindow is bound to a window, and if a window is closed +before `restorePreviousWindow` is called, there will be a crash. Use +QPointer to track the window destruction. +--- + shell/shellcorona.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/shell/shellcorona.h b/shell/shellcorona.h +index a3aff351a..db218d16e 100644 +--- a/shell/shellcorona.h ++++ b/shell/shellcorona.h +@@ -14,6 +14,7 @@ + + #include + #include ++#include + #include + #include + +@@ -301,7 +302,7 @@ private: + KWayland::Client::PlasmaShell *m_waylandPlasmaShell; + // For getting the active window on Wayland + KWayland::Client::PlasmaWindowManagement *m_waylandWindowManagement = nullptr; +- KWayland::Client::PlasmaWindow *m_previousPlasmaWindow = nullptr; ++ QPointer m_previousPlasmaWindow; + bool m_closingDown : 1; + bool m_screenReorderInProgress = false; + QString m_testModeLayout; +-- +2.41.0.windows.3 + diff --git a/plasma5-workspace.changes b/plasma5-workspace.changes index 0edfe10..d20a3e8 100644 --- a/plasma5-workspace.changes +++ b/plasma5-workspace.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Sun Aug 6 03:12:23 UTC 2023 - Fusion Future + +- Add patch to fix crash when closing popup on Wayland (kde#473054) + * 0001-shell-avoid-potential-crash-when-previous-window-is-.patch + ------------------------------------------------------------------- Tue Aug 1 20:07:29 UTC 2023 - Fabian Vogt diff --git a/plasma5-workspace.spec b/plasma5-workspace.spec index 5498ed0..6ce6c26 100644 --- a/plasma5-workspace.spec +++ b/plasma5-workspace.spec @@ -44,6 +44,7 @@ Source2: plasma.keyring Source3: xprop-kde-full-session.desktop # PATCH-FIX-UPSTREAM Patch1: 0001-OSD-Fix-size-calculation-for-progress-value.patch +Patch2: 0001-shell-avoid-potential-crash-when-previous-window-is-.patch # PATCHES 501-??? are PATCH-FIX-OPENSUSE Patch501: 0001-Use-qdbus-qt5.patch Patch502: 0001-Ignore-default-sddm-face-icons.patch