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);

-- 


Reply via email to