discomfitor pushed a commit to branch enlightenment-0.20.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=5d1dfdf33e0443e3fc7e7808f2abac00f2fc9dd9

commit 5d1dfdf33e0443e3fc7e7808f2abac00f2fc9dd9
Author: Derek Foreman <der...@osg.samsung.com>
Date:   Mon Apr 25 16:40:32 2016 -0500

    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 d303cd9..1f4b95b 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1443,6 +1443,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)))

-- 


Reply via email to