From d9679f765f266448448e1d3707ecf374bcaec6fe Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Mon, 25 Apr 2016 16:40:32 -0500 Subject: [PATCH] wayland: Fix crash when attempting to create surfaces for deleted clients Internal clients can be deleted by keybind before the surface create callback fires resulting in a NULL pointer dereference. --- src/bin/e_comp_wl.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 3f1a00ccb..639119ac4 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1567,6 +1567,8 @@ _e_comp_wl_compositor_cb_surface_create(struct wl_client *client, struct wl_reso DBG("Compositor Cb Surface Create: %d", id); + if (e_object_is_del(E_OBJECT(ec))) return; + /* try to create an internal surface */ if (!(res = wl_resource_create(client, &wl_surface_interface, wl_resource_get_version(resource), id)))