forked from enlightenment/efl
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:
parent
99321e8ca8
commit
fa8ca01128
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue