bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=02c62d313576920822a856beec417fd9c007c3fd

commit 02c62d313576920822a856beec417fd9c007c3fd
Author: Mike Blumenkrantz <[email protected]>
Date:   Mon Jun 25 06:38:07 2018 -0400

    eo: remove some erroneous mutex unlocks during base class parent_set errors
    
    recent changes added unlocks for these mutexes in some other places, so only
    do the unlocks where necessary
    
    fix T7020
    Depends on D6356
    
    Differential Revision: https://phab.enlightenment.org/D6357
---
 src/lib/eo/eo_base_class.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 05b81ddbf2..1ef4320673 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -767,7 +767,7 @@ _efl_object_parent_set(Eo *obj, Efl_Object_Data *pd, Eo 
*parent_id)
              if (prev_parent) efl_unref(obj);
              // unlikely this error happens, so move it out of execution path
              // to improve l1 cache efficiency
-             goto err_parent;
+             goto err_parent_done;
           }
 
         eo_obj->parent = EINA_TRUE;
@@ -783,10 +783,11 @@ _efl_object_parent_set(Eo *obj, Efl_Object_Data *pd, Eo 
*parent_id)
    EO_OBJ_DONE(obj);
    return;
 
+err_parent_done:
+   EO_OBJ_DONE(obj);
 err_parent:
    ERR("New parent %p for object %p is not a valid Eo object.",
        parent_id, obj);
-   EO_OBJ_DONE(obj);
    return;
 
 err_impossible:

-- 


Reply via email to