From ba2a76d7ab2fb78c3aab6cb2c6c96f6964ac0b22 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 12 May 2017 12:08:32 -0400 Subject: [PATCH] ecore-wl2: handle case where session recovery listener triggers on dead surface @fix --- src/lib/ecore_wl2/ecore_wl2_display.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index 3a95bb5..2cf0ae0 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -72,7 +72,11 @@ static const struct zxdg_shell_v6_listener _zxdg_shell_listener = static void _session_recovery_create_uuid(void *data EINA_UNUSED, struct zwp_e_session_recovery *session_recovery EINA_UNUSED, struct wl_surface *surface, const char *uuid) { - Ecore_Wl2_Window *win = wl_surface_get_user_data(surface); + Ecore_Wl2_Window *win; + + /* surface may have been destroyed */ + if (!surface) return; + win = wl_surface_get_user_data(surface); eina_stringshare_replace(&win->uuid, uuid); } -- 2.7.4