billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=5db007e5798b7f8dd142ea365a6a1ce3333acf82

commit 5db007e5798b7f8dd142ea365a6a1ce3333acf82
Author: Boris Faure <bill...@gmail.com>
Date:   Wed Jul 15 23:17:24 2015 +0200

    fix segv when spliting from controls. Closes T2568
---
 src/bin/win.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/bin/win.c b/src/bin/win.c
index 5094d69..a17643c 100644
--- a/src/bin/win.c
+++ b/src/bin/win.c
@@ -346,6 +346,9 @@ _solo_focus(Term_Container *tc, Term_Container *relative)
    solo = (Solo*) tc;
    term = solo->term;
 
+   if (!tc->parent)
+     return;
+
    DBG("tc:%p tc->is_focused:%d from_parent:%d",
        tc, tc->is_focused, tc->parent == relative);
    if (tc->is_focused)
@@ -1288,6 +1291,10 @@ _split_focus(Term_Container *tc, Term_Container 
*relative)
 
    DBG("tc:%p tc->is_focused:%d from_parent:%d",
        tc, tc->is_focused, tc->parent == relative);
+
+   if (!tc->parent)
+     return;
+
    if (tc->parent == relative)
      {
         tc->is_focused = EINA_TRUE;
@@ -1391,7 +1398,8 @@ _split_split(Term_Container *tc, Term_Container *child,
 }
 
 static Term_Container *
-_split_new(Term_Container *tc1, Term_Container *tc2, Eina_Bool is_horizontal)
+_split_new(Term_Container *tc1, Term_Container *tc2,
+           Eina_Bool is_horizontal)
 {
    Evas_Object *o;
    Term_Container *tc = NULL;
@@ -2313,6 +2321,9 @@ _tabs_focus(Term_Container *tc, Term_Container *relative)
    assert (tc->type == TERM_CONTAINER_TYPE_TABS);
    tabs = (Tabs*) tc;
 
+   if (!tc->parent)
+     return;
+
    DBG("tc:%p tc->is_focused:%d from_parent:%d",
        tc, tc->is_focused, tc->parent == relative);
    if (tc->parent == relative)
@@ -2360,6 +2371,8 @@ _tabs_unfocus(Term_Container *tc, Term_Container 
*relative)
        tc, tc->is_focused, tc->parent == relative);
    if (!tc->is_focused)
      return;
+   if (!tc->parent)
+     return;
 
    assert (tc->type == TERM_CONTAINER_TYPE_TABS);
    tabs = (Tabs*) tc;

-- 


Reply via email to