diff options
author | Boris Faure <billiob@gmail.com> | 2015-05-06 21:30:18 +0200 |
---|---|---|
committer | Boris Faure <billiob@gmail.com> | 2015-05-06 21:31:52 +0200 |
commit | 948c1399cd98303f3f517de115be80c7600810fb (patch) | |
tree | 58c5f728d6977d364fabbd0ab3cd542dd413bc1b /src | |
parent | 3abcd0f8066e5e716b9e79ba6aec7764d128177f (diff) |
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…
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/win.c | 9 |
1 files 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, | |||
413 | Term_Container *tc = (Term_Container*) wn; | 413 | Term_Container *tc = (Term_Container*) wn; |
414 | Term *term; | 414 | Term *term; |
415 | 415 | ||
416 | if (!tc->is_focused) elm_win_urgent_set(wn->win, EINA_FALSE); | 416 | if (!tc->is_focused) |
417 | elm_win_urgent_set(wn->win, EINA_FALSE); | ||
417 | tc->is_focused = EINA_TRUE; | 418 | tc->is_focused = EINA_TRUE; |
418 | if ((wn->cmdbox_up) && (wn->cmdbox)) | 419 | if ((wn->cmdbox_up) && (wn->cmdbox)) |
419 | elm_object_focus_set(wn->cmdbox, EINA_TRUE); | 420 | elm_object_focus_set(wn->cmdbox, EINA_TRUE); |
@@ -2277,7 +2278,10 @@ _tabs_focus(Term_Container *tc, Term_Container *relative) | |||
2277 | if (tc->parent == relative) | 2278 | if (tc->parent == relative) |
2278 | { | 2279 | { |
2279 | if (!tc->is_focused) | 2280 | if (!tc->is_focused) |
2280 | tabs->current->tc->focus(tabs->current->tc, tc); | 2281 | { |
2282 | tc->is_focused = EINA_TRUE; | ||
2283 | tabs->current->tc->focus(tabs->current->tc, tc); | ||
2284 | } | ||
2281 | } | 2285 | } |
2282 | else | 2286 | else |
2283 | { | 2287 | { |
@@ -2305,7 +2309,6 @@ _tabs_focus(Term_Container *tc, Term_Container *relative) | |||
2305 | } | 2309 | } |
2306 | tc->parent->focus(tc->parent, tc); | 2310 | tc->parent->focus(tc->parent, tc); |
2307 | } | 2311 | } |
2308 | tc->is_focused = EINA_TRUE; | ||
2309 | } | 2312 | } |
2310 | 2313 | ||
2311 | static void | 2314 | static void |