summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2016-11-08 12:45:17 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2016-11-18 11:45:31 -0500
commite11aa970d38925975be2203c8f5df5ea669fb471 (patch)
tree1c4d8a7476d21ac4a7f7f1dd3fabdbc19ca2047a
parent8155b456feba133846d29eb8c0144217f7c2c8ca (diff)
unset wl client surface pointer on surface destroy
leaving this around after this point is dangerous and has a high probability of crashing
-rw-r--r--src/bin/e_comp_wl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 0ed4a0a2f..ee9692a61 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1558,7 +1558,10 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state)
1558static void 1558static void
1559_e_comp_wl_surface_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource) 1559_e_comp_wl_surface_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource)
1560{ 1560{
1561 E_Client *ec;
1561 DBG("Surface Cb Destroy: %d", wl_resource_get_id(resource)); 1562 DBG("Surface Cb Destroy: %d", wl_resource_get_id(resource));
1563 ec = wl_resource_get_user_data(resource);
1564 if (ec && (!e_object_is_del(E_OBJECT(ec)))) ec->comp_data->surface = NULL;
1562 wl_resource_destroy(resource); 1565 wl_resource_destroy(resource);
1563} 1566}
1564 1567