1*4882a593SmuzhiyunFrom db5019115cd1f78fdcfd825b8923788a09bdfd2a Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Tue, 31 May 2022 12:32:18 +0800 4*4882a593SmuzhiyunSubject: [PATCH 66/92] desktop-shell: Fix crash when activating destroyed 5*4882a593Smuzhiyun desktop surface 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunTested with Qt's Windows Flags Example, by switching between Popup and 8*4882a593SmuzhiyunTool repeatedly. 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 11*4882a593Smuzhiyun--- 12*4882a593Smuzhiyun desktop-shell/shell.c | 3 ++- 13*4882a593Smuzhiyun 1 file changed, 2 insertions(+), 1 deletion(-) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyundiff --git a/desktop-shell/shell.c b/desktop-shell/shell.c 16*4882a593Smuzhiyunindex 0110ac2..ff85ff7 100644 17*4882a593Smuzhiyun--- a/desktop-shell/shell.c 18*4882a593Smuzhiyun+++ b/desktop-shell/shell.c 19*4882a593Smuzhiyun@@ -3390,7 +3390,8 @@ activate(struct desktop_shell *shell, struct weston_view *view, 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun main_surface = weston_surface_get_main_surface(es); 22*4882a593Smuzhiyun shsurf = get_shell_surface(main_surface); 23*4882a593Smuzhiyun- assert(shsurf); 24*4882a593Smuzhiyun+ if (!shsurf) 25*4882a593Smuzhiyun+ return; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun shsurf_child = get_last_child(shsurf); 28*4882a593Smuzhiyun if (shsurf_child) { 29*4882a593Smuzhiyun-- 30*4882a593Smuzhiyun2.20.1 31*4882a593Smuzhiyun 32