e_client: fix memory leak 86/234386/1
authorJunseok, Kim <juns.kim@samsung.com>
Tue, 26 May 2020 04:13:56 +0000 (13:13 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Tue, 26 May 2020 04:13:56 +0000 (13:13 +0900)
Change-Id: Ie817aa5b3354d44b7b7337cda5df6996a16dc64c
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_client.c

index 271de1df2c1bb2412230cf77eb3fd2579c65f796..0f496546016dc900120fe08ad47d09bf742d5612 100644 (file)
@@ -3603,6 +3603,7 @@ _e_client_focus_calculate(E_Zone *zone)
    E_Client *defered_focus_ec = NULL, *reverted_focus_ec = NULL;
    E_Client *ec = NULL, *old_focused = NULL, *cec = NULL;
    Eina_List *child_list = NULL;
+   Eina_List *l = NULL;
    Eina_Bool child_deferred;
 
    EINA_SAFETY_ON_NULL_RETURN(zone);
@@ -3660,7 +3661,7 @@ _e_client_focus_calculate(E_Zone *zone)
         // check transient_for child defered
         child_deferred = EINA_FALSE;
         child_list = eina_list_clone(ec->transients);
-        EINA_LIST_FREE(child_list, cec)
+        EINA_LIST_FOREACH(child_list, l, cec)
           {
              if (cec->transient_policy == E_TRANSIENT_BELOW) continue;
              if (!(cec->icccm.accepts_focus || cec->icccm.take_focus)) continue;
@@ -3670,6 +3671,7 @@ _e_client_focus_calculate(E_Zone *zone)
                   break;
                }
           }
+        eina_list_free(child_list);
         if (child_deferred) continue;
 
         defered_focus_ec = ec;