summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel-hollerbach@t-online.de>2016-12-12 21:01:18 +0100
committerMarcel Hollerbach <marcel-hollerbach@t-online.de>2017-04-19 13:31:58 +0200
commit5c197f067659c795ddd8ddf6c70d2c24f487984c (patch)
tree7ea4ca31f05d50ea3f4f44b9f8f5c32264d20dde
parentd464d7821c9ccaa5072ff73ce9fe88cc90b781a3 (diff)
downloadefl-5c197f067659c795ddd8ddf6c70d2c24f487984c.tar.gz
efl_ui_focus_manager: unset redirect when focusing new item
-rw-r--r--src/lib/elementary/efl_ui_focus_manager.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_focus_manager.c b/src/lib/elementary/efl_ui_focus_manager.c
index 7d2019d062..c0aadc94e0 100644
--- a/src/lib/elementary/efl_ui_focus_manager.c
+++ b/src/lib/elementary/efl_ui_focus_manager.c
@@ -1058,6 +1058,12 @@ _efl_ui_focus_manager_focus(Eo *obj, Efl_Ui_Focus_Manager_Data *pd, Efl_Ui_Focus
return;
}
+ if (pd->redirect)
+ {
+ //first unset the redirect
+ efl_ui_focus_manager_redirect_set(obj, NULL);
+ }
+
//check if this is already the focused object
old_focus = eina_list_last_data_get(pd->focus_stack);
@@ -1111,7 +1117,6 @@ _efl_ui_focus_manager_move(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Manager_Data *pd, E
if (new_candidate)
{
//redirect does not have smth. but we do have.
- efl_ui_focus_manager_redirect_set(obj, NULL);
efl_ui_focus_manager_focus(obj, new_candidate);
}
}