forked from enlightenment/efl
List: Focus does not move if it's set on item content object.
Summary: If focus is set on item content object, it's treated as a different object which results the focus deadlock. So, every time whenever focus sets on item content object, we need to unset and set the focus on genlist object. Thanks to Seoz for the idea. Test Plan: elementary_test -to "list focus" Reviewers: seoz, SanghyeonLee, eagleeye CC: seoz Differential Revision: https://phab.enlightenment.org/D973
This commit is contained in:
parent
f6b7012329
commit
589a8ba74f
|
@ -1330,6 +1330,19 @@ _item_select(Elm_List_Item *it)
|
|||
|
||||
if (it->base.disabled || (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE))
|
||||
return;
|
||||
if (!sd->focus_on_selection_enabled && (it->icon || it->end))
|
||||
{
|
||||
if (elm_object_widget_check(it->icon) && elm_object_focus_get(it->icon))
|
||||
{
|
||||
elm_object_focus_set(obj, EINA_FALSE);
|
||||
elm_object_focus_set(obj, EINA_TRUE);
|
||||
}
|
||||
else if (elm_object_widget_check(it->end) && elm_object_focus_get(it->end))
|
||||
{
|
||||
elm_object_focus_set(obj, EINA_FALSE);
|
||||
elm_object_focus_set(obj, EINA_TRUE);
|
||||
}
|
||||
}
|
||||
if (it->selected)
|
||||
{
|
||||
if (sd->select_mode == ELM_OBJECT_SELECT_MODE_ALWAYS) goto call;
|
||||
|
|
Loading…
Reference in New Issue