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:
Mike Blumenkrantz 2015-06-30 18:33:00 -04:00
parent 629f07e510
commit f1f4489822
3 changed files with 1 additions and 2 deletions

View File

@ -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);

View File

@ -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();

View File

@ -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);