billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=948c1399cd98303f3f517de115be80c7600810fb
commit 948c1399cd98303f3f517de115be80c7600810fb Author: Boris Faure <bill...@gmail.com> Date: Wed May 6 21:30:18 2015 +0200 fix focus issue wrt tabs elm_object_focus_set() triggers a focus_out on the window even though an object inside it is getting the focus… --- src/bin/win.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/bin/win.c b/src/bin/win.c index 717ba27..cff91e3 100644 --- a/src/bin/win.c +++ b/src/bin/win.c @@ -413,7 +413,8 @@ _cb_win_focus_in(void *data, Term_Container *tc = (Term_Container*) wn; Term *term; - if (!tc->is_focused) elm_win_urgent_set(wn->win, EINA_FALSE); + if (!tc->is_focused) + elm_win_urgent_set(wn->win, EINA_FALSE); tc->is_focused = EINA_TRUE; if ((wn->cmdbox_up) && (wn->cmdbox)) elm_object_focus_set(wn->cmdbox, EINA_TRUE); @@ -2277,7 +2278,10 @@ _tabs_focus(Term_Container *tc, Term_Container *relative) if (tc->parent == relative) { if (!tc->is_focused) - tabs->current->tc->focus(tabs->current->tc, tc); + { + tc->is_focused = EINA_TRUE; + tabs->current->tc->focus(tabs->current->tc, tc); + } } else { @@ -2305,7 +2309,6 @@ _tabs_focus(Term_Container *tc, Term_Container *relative) } tc->parent->focus(tc->parent, tc); } - tc->is_focused = EINA_TRUE; } static void --