diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 941330b36a..9596c1e261 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/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/legacy/elementary/src/lib/elm_main.c b/legacy/elementary/src/lib/elm_main.c index 4f860ba4c9..1c273c1935 100644 --- a/legacy/elementary/src/lib/elm_main.c +++ b/legacy/elementary/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