discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=15eb6afa16f58d8e23cf3268a1f94f70d8b139eb
commit 15eb6afa16f58d8e23cf3268a1f94f70d8b139eb Author: Marcel Hollerbach <[email protected]> Date: Mon Jul 25 19:49:55 2016 +0200 e_comp_wl: destroy e_drag when source disappears Otherwise we are expecting a running dnd later, and accessing invalid memory. --- src/bin/e_comp_wl_data.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c index 04ccd32..0ea274c 100644 --- a/src/bin/e_comp_wl_data.c +++ b/src/bin/e_comp_wl_data.c @@ -375,7 +375,12 @@ _e_comp_wl_data_source_cb_resource_destroy(struct wl_resource *resource) _mime_types_free(source); if (e_comp_wl->drag_source == source) - e_comp_wl->drag_source = NULL; + { + e_comp_wl->drag_source = NULL; + //free the drag here + e_object_del(E_OBJECT(e_comp_wl->drag)); + e_comp_wl->drag = NULL; + } free(source); } --
