billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=815dddd880b7ec943581ee75ec6f19e16358b3c0

commit 815dddd880b7ec943581ee75ec6f19e16358b3c0
Author: Boris Faure <bill...@gmail.com>
Date:   Thu Mar 3 13:01:19 2016 +0100

    refocus other split when closing one. Closes T3239
---
 src/bin/win.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/bin/win.c b/src/bin/win.c
index 88aa885..b8c891c 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -247,6 +247,7 @@ _solo_size_eval(Term_Container *container, Sizeinfo *info)
 static void
 _solo_close(Term_Container *tc, Term_Container *child EINA_UNUSED)
 {
+   DBG("close");
    tc->parent->close(tc->parent, tc);
 
    eina_stringshare_del(tc->title);
@@ -821,6 +822,8 @@ _win_swallow(Term_Container *tc, Term_Container *orig,
    wn = (Win*) tc;
    base = win_base_get(wn);
 
+   DBG("orig:%p", orig);
+
    if (orig)
      {
         o = orig->get_evas_object(orig);
@@ -1325,6 +1328,8 @@ _split_close(Term_Container *tc, Term_Container *child)
    assert (tc->type == TERM_CONTAINER_TYPE_SPLIT);
    split = (Split*) tc;
 
+   DBG("close");
+
    top = elm_object_part_content_unset(split->panes, PANES_TOP);
    bottom = elm_object_part_content_unset(split->panes, PANES_BOTTOM);
    evas_object_hide(top);
@@ -1334,6 +1339,11 @@ _split_close(Term_Container *tc, Term_Container *child)
    other_child = (child == split->tc1) ? split->tc2 : split->tc1;
    parent->swallow(parent, tc, other_child);
 
+   if (tc->is_focused)
+     {
+        other_child->focus(other_child, parent);
+     }
+
    evas_object_del(split->panes);
 
    eina_stringshare_del(tc->title);

-- 


Reply via email to