From e840b255f4c0d4b3f641bebd2ba29c666a9d6be4 Mon Sep 17 00:00:00 2001 From: Sung-Taek Hong Date: Thu, 10 Dec 2015 17:01:25 +0900 Subject: [PATCH] ecore_idle_exiter: unlock when Ecore_Task_Cb is NULL Summary: - When Ecore_Task_Cb is not set, _ecore_idle_exiter_constructor returns without _ecore_unlock(), and remains to be locked. Reviewers: jpeg Reviewed By: jpeg Subscribers: cedric, jpeg Differential Revision: https://phab.enlightenment.org/D3424 --- src/lib/ecore/ecore_idle_exiter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_idle_exiter.c b/src/lib/ecore/ecore_idle_exiter.c index f8aed55f7b..3160f23d52 100644 --- a/src/lib/ecore/ecore_idle_exiter.c +++ b/src/lib/ecore/ecore_idle_exiter.c @@ -57,13 +57,15 @@ _ecore_idle_exiter_constructor(Eo *obj, Ecore_Idle_Exiter_Data *ie, Ecore_Task_C if (!func) { ERR("callback function must be set up for an object of class: '%s'", MY_CLASS_NAME); - return; + goto unlock; } ie->func = func; ie->data = (void *)data; idle_exiters = (Ecore_Idle_Exiter_Data *)eina_inlist_append(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie)); + +unlock: _ecore_unlock(); }