From cc012b754c7c5dc7c01b584962b2c35b0ea7e0d5 Mon Sep 17 00:00:00 2001 From: Cedric Bail Date: Mon, 1 Jul 2013 18:35:55 +0900 Subject: [PATCH] eo: little micro optimization. --- src/lib/eo/eo_base_class.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c index 49cfe7fecc..2cde9ffc59 100644 --- a/src/lib/eo/eo_base_class.c +++ b/src/lib/eo/eo_base_class.c @@ -314,14 +314,14 @@ _eo_callbacks_clear(Private_Data *pd) { Eo_Callback_Description *cb = NULL; - /* Abort if we are currently walking the list. */ - if (pd->walking_list > 0) - return; - /* If there are no deletions waiting. */ if (!pd->deletions_waiting) return; + /* Abort if we are currently walking the list. */ + if (pd->walking_list > 0) + return; + pd->deletions_waiting = EINA_FALSE; for (cb = pd->callbacks ; cb ; ) @@ -501,20 +501,19 @@ _ev_cb_call(Eo *obj_id, void *class_data, va_list *list) } else { + if (cb->items.item.desc != desc) + continue; if ((!cb->items.item.desc || !cb->items.item.desc->unfreezable) && (event_freeze_count || pd->event_freeze_count)) continue; - if (cb->items.item.desc == desc) + /* Abort callback calling if the func says so. */ + if (!cb->items.item.func((void *) cb->func_data, obj_id, desc, + (void *) event_info)) { - /* Abort callback calling if the func says so. */ - if (!cb->items.item.func((void *) cb->func_data, obj_id, desc, - (void *) event_info)) - { - if (ret) *ret = EINA_FALSE; - goto end; - } + if (ret) *ret = EINA_FALSE; + goto end; } } }