When ec's ref_count is 0, _e_client_free() is called. However,
e_comp->post_updates has the reference of ec. So it doens't make
sense that _e_client_free calls e_comp_post_update_purge. To make
ec's ref_count 0, we should call e_comp_post_update_purge first.
Furthermore, we call e_comp_object_render_update_del(ec->frame)
in _e_client_del. So _e_client_del seems the proper position to
call e_comp_post_update_purge
Change-Id: I906101300dec08f7bf18f18428443efa47f7afec
static void
_e_client_free(E_Client *ec)
{
- e_comp_post_update_purge(ec);
-
e_comp_object_redirected_set(ec->frame, 0);
e_comp_object_render_update_del(ec->frame);
eina_hash_del_by_key(clients_hash, &ec->pixmap);
ec->comp->clients = eina_list_remove(ec->comp->clients, ec);
e_comp_object_render_update_del(ec->frame);
+ e_comp_post_update_purge(ec);
if (e_pixmap_free(ec->pixmap))
e_pixmap_client_set(ec->pixmap, NULL);
ec->pixmap = NULL;