From: Junseok, Kim Date: Fri, 26 Jun 2020 12:56:24 +0000 (+0900) Subject: e_desk: use cloned list of ECs in check_ec_in_desk_group func X-Git-Tag: submit/tizen/20200629.093328~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=adf1379026305c04eea6abaf664f978c533a46ba;p=platform%2Fupstream%2Fenlightenment.git e_desk: use cloned list of ECs in check_ec_in_desk_group func 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 --- diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c index 55ec7ee797..6f214b236e 100644 --- a/src/bin/e_desk.c +++ b/src/bin/e_desk.c @@ -1741,6 +1741,7 @@ static void _e_desk_desk_group_check_ec_in_desk_group(E_Desk *desk) { E_Client *ec; + Eina_List *ec_list; E_CLIENT_FOREACH(ec) { @@ -1748,8 +1749,11 @@ _e_desk_desk_group_check_ec_in_desk_group(E_Desk *desk) 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