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);
      }

-- 


Reply via email to