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.
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)
{
if (!cur) continue;
best = cur;
}
- if (can_focus_only)
- {
- if ((!best) || (!elm_widget_can_focus_get(best)))
- return;
- }
*ret = best;
return;
}