E_Client *ec;
E_Event_Client *ev;
E_Client *provider_ec;
+ Eina_List *l;
ev = event;
vc = data;
e_comp_object_render(ec->frame);
}
- EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ l = eina_list_clone(vc->wait_buf_attach_grab_list);
+ vc->wait_buf_attach_grab_list = eina_list_free(vc->wait_buf_attach_grab_list);
+ EINA_LIST_FREE(l, grab)
{
E_FREE_FUNC(grab, _e_vis_grab_release);
}
- vc->wait_buf_attach_grab_list = NULL;
E_FREE_FUNC(vc->buf_attach, ecore_event_handler_del);
renew:
E_FREE_FUNC(vc->grab, _e_vis_grab_release);
E_Vis_Grab *grab;
- EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ Eina_List *l;
+
+ l = eina_list_clone(vc->wait_buf_attach_grab_list);
+ vc->wait_buf_attach_grab_list = eina_list_free(vc->wait_buf_attach_grab_list);
+ EINA_LIST_FREE(l, grab)
{
E_FREE_FUNC(grab, _e_vis_grab_release);
}
- vc->wait_buf_attach_grab_list = NULL;
return EINA_TRUE;
}
_e_vis_client_del(E_Vis_Client *vc)
{
E_Vis_Grab *grab;
+ Eina_List *l;
VS_INF(vc->ec, "CLIENT DEL");
- EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ l = eina_list_clone(vc->wait_buf_attach_grab_list);
+ vc->wait_buf_attach_grab_list = eina_list_free(vc->wait_buf_attach_grab_list);
+ EINA_LIST_FREE(l, grab)
{
VS_INF(vc->ec, "Remove remain grab(%p) in wait_buf_attach list", grab);
E_FREE_FUNC(grab, _e_vis_grab_release);
}
- vc->wait_buf_attach_grab_list = NULL;
E_FREE_FUNC(vc->grab, _e_vis_grab_release);
E_LIST_REVERSE_FREE(vc->job.grab_list, grab)
E_FREE_FUNC(vc->grab, _e_vis_grab_release);
E_Vis_Grab *grab;
- EINA_LIST_FREE(vc->wait_buf_attach_grab_list, grab)
+ Eina_List *l;
+
+ l = vc->wait_buf_attach_grab_list;
+ vc->wait_buf_attach_grab_list = eina_list_free(vc->wait_buf_attach_grab_list);
+ EINA_LIST_FREE(l, grab)
{
E_FREE_FUNC(grab, _e_vis_grab_release);
}
- vc->wait_buf_attach_grab_list = NULL;
}
return ret;