discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=3d3484739cb93d1ce1d61563279b8e3c69aa2b91
commit 3d3484739cb93d1ce1d61563279b8e3c69aa2b91 Author: Mike Blumenkrantz <[email protected]> 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); */ --
