discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f41e5a90509bc3664d5142b3d403b9b921e0cff9
commit f41e5a90509bc3664d5142b3d403b9b921e0cff9 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Tue May 30 10:41:05 2017 -0400 use FOREACH_SAFE when walking client list during logout internal clients can be instantly destroyed and removed from the list --- src/bin/e_sys.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c index 72e926087..cbc24f345 100644 --- a/src/bin/e_sys.c +++ b/src/bin/e_sys.c @@ -762,7 +762,7 @@ _e_sys_logout_after(void) static void _e_sys_logout_begin(E_Sys_Action a_after, Eina_Bool raw) { - const Eina_List *l; + const Eina_List *l, *ll; E_Client *ec; E_Obj_Dialog *od; @@ -783,7 +783,7 @@ _e_sys_logout_begin(E_Sys_Action a_after, Eina_Bool raw) } _e_sys_action_after = a_after; _e_sys_action_after_raw = raw; - EINA_LIST_FOREACH(e_comp->clients, l, ec) + EINA_LIST_FOREACH_SAFE(e_comp->clients, l, ll, ec) { e_client_act_close_begin(ec); } --