If using E_CLIENT_FOREACH in this function, it could cause miss out some ECs during stack changing.
for prevent it, use cloned list.
Change-Id: If68ecc00c92224e45afd2452b64795b13ad6404f
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
_e_desk_desk_group_check_ec_in_desk_group(E_Desk *desk)
{
E_Client *ec;
+ Eina_List *ec_list;
E_CLIENT_FOREACH(ec)
{
if (e_object_is_del(E_OBJECT(ec))) continue;
if (ec->desk_group.desk_group) continue;
- e_client_desk_group_set(ec, desk->desk_group.base);
+ ec_list = eina_list_append(ec_list, ec);
}
+
+ EINA_LIST_FREE(ec_list, ec)
+ e_client_desk_group_set(ec, desk->desk_group.base);
}
E_API Eina_Bool