forked from enlightenment/enlightenment
free all ec->comp_data ptrs in _e_client_del
need this to live through multiple del hooks, so simplify all code by freeing in one place
This commit is contained in:
parent
629f07e510
commit
f1f4489822
|
@ -621,6 +621,7 @@ _e_client_del(E_Client *ec)
|
|||
E_FREE_FUNC(ec->ping_poller, ecore_poller_del);
|
||||
/* must be called before parent/child clear */
|
||||
_e_client_hook_call(E_CLIENT_HOOK_DEL, ec);
|
||||
E_FREE(ec->comp_data);
|
||||
|
||||
if ((!ec->new_client) && (!stopping))
|
||||
_e_client_event_simple(ec, E_EVENT_CLIENT_REMOVE);
|
||||
|
|
|
@ -2168,7 +2168,6 @@ _e_comp_wl_client_cb_del(void *data EINA_UNUSED, E_Client *ec)
|
|||
if (ec->comp_data->surface)
|
||||
wl_resource_set_user_data(ec->comp_data->surface, NULL);
|
||||
|
||||
E_FREE(ec->comp_data);
|
||||
if (ec->internal_elm_win)
|
||||
_e_comp_wl_surface_render_stop(ec);
|
||||
_e_comp_wl_focus_check();
|
||||
|
|
|
@ -4361,7 +4361,6 @@ _e_comp_x_hook_client_del(void *d EINA_UNUSED, E_Client *ec)
|
|||
}
|
||||
if (cd)
|
||||
E_FREE_FUNC(cd->first_draw_delay, ecore_timer_del);
|
||||
E_FREE(cd);
|
||||
if (post_clients)
|
||||
post_clients = eina_list_remove(post_clients, ec);
|
||||
|
||||
|
|
Loading…
Reference in New Issue