widget: Fix a bug in elm_widget_newest_focus_order_get.

When elm_widget_newest_focus_order_get is called with can_focus_only,
only focusable objects should be the candidates for newest focused object.
But there are cases that unfocusable object add +1 to newest_focus_order.
This commit is contained in:
WooHyun Jung 2014-01-03 20:02:30 +09:00
parent 99321e8ca8
commit fa8ca01128
1 changed files with 5 additions and 7 deletions

View File

@ -4762,8 +4762,11 @@ _elm_widget_newest_focus_order_get(Eo *obj, void *_pd, va_list *list)
best = NULL;
if (*newest_focus_order < sd->focus_order)
{
*newest_focus_order = sd->focus_order;
best = obj;
if (!can_focus_only || elm_widget_can_focus_get(obj))
{
*newest_focus_order = sd->focus_order;
best = obj;
}
}
EINA_LIST_FOREACH(sd->subobjs, l, child)
{
@ -4772,11 +4775,6 @@ _elm_widget_newest_focus_order_get(Eo *obj, void *_pd, va_list *list)
if (!cur) continue;
best = cur;
}
if (can_focus_only)
{
if ((!best) || (!elm_widget_can_focus_get(best)))
return;
}
*ret = best;
return;
}