summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBoris Faure <billiob@gmail.com>2015-05-06 21:30:18 +0200
committerBoris Faure <billiob@gmail.com>2015-05-06 21:31:52 +0200
commit948c1399cd98303f3f517de115be80c7600810fb (patch)
tree58c5f728d6977d364fabbd0ab3cd542dd413bc1b /src
parent3abcd0f8066e5e716b9e79ba6aec7764d128177f (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.c9
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
2311static void 2314static void