From a9699f44bb166613219bd4f816833cc465044086 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 29 May 2012 00:31:38 +0000 Subject: [PATCH] be generous about focus setting in elm. SVN revision: 71481 --- ChangeLog | 6 ++++++ src/lib/elm_main.c | 17 ++++++++++++----- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 941330b..9596c1e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -109,3 +109,9 @@ 2012-05-28 Mike Blumenkrantz * Fix sizing calc error in list item homogenizing + +2012-05-28 Carsten Haitzler (The Rasterman) + + * Made elm_object_focus_set() fall back to evbas_object_focus_set() + if the object is not an elm widget. + diff --git a/src/lib/elm_main.c b/src/lib/elm_main.c index 4f860ba..1c273c1 100644 --- a/src/lib/elm_main.c +++ b/src/lib/elm_main.c @@ -1048,12 +1048,19 @@ elm_object_focus_set(Evas_Object *obj, { EINA_SAFETY_ON_NULL_RETURN(obj); - if (focus == elm_widget_focus_get(obj)) return; - - if (focus) - elm_widget_focus_cycle(obj, ELM_FOCUS_NEXT); + if (elm_widget_is(obj)) + { + if (focus == elm_widget_focus_get(obj)) return; + + if (focus) + elm_widget_focus_cycle(obj, ELM_FOCUS_NEXT); + else + elm_widget_focused_object_clear(obj); + } else - elm_widget_focused_object_clear(obj); + { + evas_object_focus_set(obj, focus); + } } EAPI void -- 2.7.4