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 a3aff351af..db218d16e2 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; -- GitLab