static void
_e_client_free(E_Client *ec)
{
- ec->comp->post_updates = eina_list_remove(ec->comp->post_updates, ec);
+ Eina_List *l, *ll;
+ E_Client *ec2;
+ int count = 0;
+ EINA_LIST_FOREACH_SAFE(e_comp->post_updates, l, ll, ec2)
+ {
+ if (ec2 == ec)
+ e_comp->post_updates = eina_list_remove_list(e_comp->post_updates, l);
+ }
e_comp_object_redirected_set(ec->frame, 0);
e_comp_object_render_update_del(ec->frame);
/* schedule repaint */
if (e_pixmap_refresh(ec->pixmap))
{
+ Eina_List *l, *ll;
+ E_Client *ec2;
+ int count = 0;
+ EINA_LIST_FOREACH_SAFE(e_comp->post_updates, l, ll, ec2)
+ {
+ if (ec2 == ec)
+ e_comp->post_updates = eina_list_remove_list(e_comp->post_updates, l);
+ }
e_comp->post_updates = eina_list_append(e_comp->post_updates, ec);
e_object_ref(E_OBJECT(ec));
}
/* schedule repaint */
if (e_pixmap_refresh(ec->pixmap))
{
+ Eina_List *l, *ll;
+ E_Client *ec2;
+ int count = 0;
+ EINA_LIST_FOREACH_SAFE(e_comp->post_updates, l, ll, ec2)
+ {
+ if (ec2 == ec)
+ e_comp->post_updates = eina_list_remove_list(e_comp->post_updates, l);
+ }
e_comp->post_updates = eina_list_append(e_comp->post_updates, ec);
e_object_ref(E_OBJECT(ec));
}