From 34c6904234b660a1b94ed5d4ca5792329995d4bb Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Fri, 25 Mar 2022 23:13:05 +0000 Subject: [PATCH] wlserver: Be more defensive in content_override_handle_surface_destroy Better to be defensive here than crashing. --- src/wlserver.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/wlserver.cpp b/src/wlserver.cpp index 06040ed..e0d1b93 100644 --- a/src/wlserver.cpp +++ b/src/wlserver.cpp @@ -508,7 +508,11 @@ static void content_override_handle_surface_destroy( struct wl_listener *listene struct wlserver_content_override *co = wl_container_of( listener, co, surface_destroy_listener ); assert(co->surface); gamescope_xwayland_server_t *server = (gamescope_xwayland_server_t *)co->surface->data; - assert(server); + if (!server) + { + wl_log.errorf( "Unable to destroy content override for surface %p - was it launched on the wrong DISPLAY or did the surface never get wl_id?\n", co->surface ); + return; + } server->destroy_content_override( co ); }