discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=3d3484739cb93d1ce1d61563279b8e3c69aa2b91

commit 3d3484739cb93d1ce1d61563279b8e3c69aa2b91
Author: Mike Blumenkrantz <zm...@osg.samsung.com>
Date:   Wed Dec 23 12:25:10 2015 -0500

    call ecore_wl2_shutdown() in wl compositor delete callback
    
    shutdown/restart crash--
---
 src/bin/e_comp.c    | 9 +--------
 src/bin/e_comp_wl.c | 1 +
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 1c38f48..4639ec9 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -1364,26 +1364,19 @@ e_comp_shutdown(void)
    Eina_List *l, *ll;
    E_Client *ec;
 
-#ifdef HAVE_WAYLAND
-   E_Pixmap_Type type = e_comp->comp_type;
-#endif
    E_FREE_FUNC(action_timeout, ecore_timer_del);
    EINA_LIST_FOREACH_SAFE(e_comp->clients, l, ll, ec)
      {
         DELD(ec, 99999);
         e_object_del(E_OBJECT(ec));
      }
+
    e_object_del(E_OBJECT(e_comp));
    e_comp = NULL;
    E_FREE_LIST(handlers, ecore_event_handler_del);
    E_FREE_LIST(actions, e_object_del);
    E_FREE_LIST(hooks, e_client_hook_del);
 
-#ifdef HAVE_WAYLAND
-   if (type == E_PIXMAP_TYPE_WL)
-     e_comp_wl_shutdown();
-#endif
-
    gl_avail = EINA_FALSE;
    e_comp_cfdata_config_free(conf);
    E_CONFIG_DD_FREE(conf_match_edd);
diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index bec68a1..bcfb60d 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -1659,6 +1659,7 @@ _e_comp_wl_compositor_cb_del(void *data EINA_UNUSED)
         if (output->model) eina_stringshare_del(output->model);
         free(output);
      }
+   e_comp_wl_shutdown();
 
    /* delete fd handler */
    /* if (e_comp_wl->fd_hdlr) ecore_main_fd_handler_del(e_comp_wl->fd_hdlr); */

-- 


Reply via email to