1*4882a593SmuzhiyunFrom e0b016c5e52ca53c2359768cb3366fd191e37458 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Wed, 8 Jun 2022 09:53:19 +0800 4*4882a593SmuzhiyunSubject: [PATCH 69/92] desktop-shell: Fix crash when destroying uncommited 5*4882a593Smuzhiyun surface 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunBy adding a sanity check for it's wsurface_anim_fade. 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 10*4882a593Smuzhiyun--- 11*4882a593Smuzhiyun desktop-shell/shell.c | 4 +++- 12*4882a593Smuzhiyun 1 file changed, 3 insertions(+), 1 deletion(-) 13*4882a593Smuzhiyun 14*4882a593Smuzhiyundiff --git a/desktop-shell/shell.c b/desktop-shell/shell.c 15*4882a593Smuzhiyunindex 2e88b99..1da402a 100644 16*4882a593Smuzhiyun--- a/desktop-shell/shell.c 17*4882a593Smuzhiyun+++ b/desktop-shell/shell.c 18*4882a593Smuzhiyun@@ -277,7 +277,9 @@ desktop_shell_destroy_surface(struct shell_surface *shsurf) 19*4882a593Smuzhiyun weston_view_destroy(shsurf->view); 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun wl_signal_emit(&shsurf->destroy_signal, shsurf); 22*4882a593Smuzhiyun- weston_surface_unref(shsurf->wsurface_anim_fade); 23*4882a593Smuzhiyun+ 24*4882a593Smuzhiyun+ if (shsurf->wsurface_anim_fade) 25*4882a593Smuzhiyun+ weston_surface_unref(shsurf->wsurface_anim_fade); 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun if (shsurf->output_destroy_listener.notify) { 28*4882a593Smuzhiyun wl_list_remove(&shsurf->output_destroy_listener.link); 29*4882a593Smuzhiyun-- 30*4882a593Smuzhiyun2.20.1 31*4882a593Smuzhiyun 32