diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 1c38f4847..4639ec95b 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 bec68a119..bcfb60d31 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); */