discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c7f9f2eef1fa344f6dadd09c9c3eaa7203b7ca92

commit c7f9f2eef1fa344f6dadd09c9c3eaa7203b7ca92
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
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 2bdb222501..9eec04e916 100644
--- a/src/lib/efl_wl/efl_wl.c
+++ b/src/lib/efl_wl/efl_wl.c
@@ -2301,6 +2301,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