From: jeon Date: Thu, 27 Aug 2020 05:48:56 +0000 (+0900) Subject: e_keyrouter: retrun false in an intercept hook if only an one hook returns false X-Git-Tag: submit/tizen/20200828.082550~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b909ccbd47e92b4b352cab6f18131ddd9cb17971;p=platform%2Fupstream%2Fenlightenment.git e_keyrouter: retrun false in an intercept hook if only an one hook returns false Change-Id: Idc9843e852c58eb4523e20924cc70c3d6cce298d --- diff --git a/src/bin/e_keyrouter.c b/src/bin/e_keyrouter.c index cac1ef6279..765923b587 100644 --- a/src/bin/e_keyrouter.c +++ b/src/bin/e_keyrouter.c @@ -69,19 +69,20 @@ E_API Eina_Bool e_keyrouter_intercept_hook_call(E_Keyrouter_Intercept_Hook_Point hookpoint, int type, Ecore_Event_Key *event) { E_Keyrouter_Intercept_Hook *ch; - Eina_Bool res = EINA_TRUE; + Eina_Bool res = EINA_TRUE, ret = EINA_TRUE; _e_keyrouter_intercept_hooks_walking++; EINA_INLIST_FOREACH(_e_keyrouter_intercept_hooks[hookpoint], ch) { if (ch->delete_me) continue; res = ch->func(ch->data, type, event); + if (!res) ret = EINA_FALSE; } _e_keyrouter_intercept_hooks_walking--; if ((_e_keyrouter_intercept_hooks_walking == 0) && (_e_keyrouter_intercept_hooks_delete > 0)) _e_keyrouter_intercept_hooks_clean(); - return res; + return ret; } static void