forked from enlightenment/enlightenment
call ecore_wl2_shutdown() in wl compositor delete callback
shutdown/restart crash--
This commit is contained in:
parent
b1378ce77b
commit
3d3484739c
|
@ -1364,26 +1364,19 @@ e_comp_shutdown(void)
|
||||||
Eina_List *l, *ll;
|
Eina_List *l, *ll;
|
||||||
E_Client *ec;
|
E_Client *ec;
|
||||||
|
|
||||||
#ifdef HAVE_WAYLAND
|
|
||||||
E_Pixmap_Type type = e_comp->comp_type;
|
|
||||||
#endif
|
|
||||||
E_FREE_FUNC(action_timeout, ecore_timer_del);
|
E_FREE_FUNC(action_timeout, ecore_timer_del);
|
||||||
EINA_LIST_FOREACH_SAFE(e_comp->clients, l, ll, ec)
|
EINA_LIST_FOREACH_SAFE(e_comp->clients, l, ll, ec)
|
||||||
{
|
{
|
||||||
DELD(ec, 99999);
|
DELD(ec, 99999);
|
||||||
e_object_del(E_OBJECT(ec));
|
e_object_del(E_OBJECT(ec));
|
||||||
}
|
}
|
||||||
|
|
||||||
e_object_del(E_OBJECT(e_comp));
|
e_object_del(E_OBJECT(e_comp));
|
||||||
e_comp = NULL;
|
e_comp = NULL;
|
||||||
E_FREE_LIST(handlers, ecore_event_handler_del);
|
E_FREE_LIST(handlers, ecore_event_handler_del);
|
||||||
E_FREE_LIST(actions, e_object_del);
|
E_FREE_LIST(actions, e_object_del);
|
||||||
E_FREE_LIST(hooks, e_client_hook_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;
|
gl_avail = EINA_FALSE;
|
||||||
e_comp_cfdata_config_free(conf);
|
e_comp_cfdata_config_free(conf);
|
||||||
E_CONFIG_DD_FREE(conf_match_edd);
|
E_CONFIG_DD_FREE(conf_match_edd);
|
||||||
|
|
|
@ -1659,6 +1659,7 @@ _e_comp_wl_compositor_cb_del(void *data EINA_UNUSED)
|
||||||
if (output->model) eina_stringshare_del(output->model);
|
if (output->model) eina_stringshare_del(output->model);
|
||||||
free(output);
|
free(output);
|
||||||
}
|
}
|
||||||
|
e_comp_wl_shutdown();
|
||||||
|
|
||||||
/* delete fd handler */
|
/* delete fd handler */
|
||||||
/* if (e_comp_wl->fd_hdlr) ecore_main_fd_handler_del(e_comp_wl->fd_hdlr); */
|
/* if (e_comp_wl->fd_hdlr) ecore_main_fd_handler_del(e_comp_wl->fd_hdlr); */
|
||||||
|
|
Loading…
Reference in New Issue