raster pushed a commit to branch efl-1.20. http://git.enlightenment.org/core/efl.git/commit/?id=d92ab128700f002c7bd3a19f60edb1f4e1115d22
commit d92ab128700f002c7bd3a19f60edb1f4e1115d22 Author: Mike Blumenkrantz <[email protected]> Date: Wed Oct 18 17:11:36 2017 -0400 efl_wl: destroy extant shell surface upon surface deletion avoid invalid reads later @fix --- src/lib/efl_wl/efl_wl.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c index bb11163b24..04e6320901 100644 --- a/src/lib/efl_wl/efl_wl.c +++ b/src/lib/efl_wl/efl_wl.c @@ -2254,6 +2254,12 @@ comp_surface_smart_del(Evas_Object *obj) } evas_object_del(cs->img); evas_object_del(cs->clip); + if (cs->shell.surface) + { + if (cs->role) + wl_resource_destroy(cs->role); + wl_resource_destroy(cs->shell.surface); + } cs->c->surfaces = eina_inlist_remove(cs->c->surfaces, EINA_INLIST_GET(cs)); cs->c->surfaces_count--; free(cs); --
