eo: remove some erroneous mutex unlocks during base class parent_set errors
authorMike Blumenkrantz <zmike@samsung.com>
Mon, 25 Jun 2018 10:38:07 +0000 (06:38 -0400)
committerWonki Kim <wonki_.kim@samsung.com>
Wed, 27 Jun 2018 07:54:55 +0000 (16:54 +0900)
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

index 05b81dd..1ef4320 100644 (file)
@@ -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: