fix segv when spliting from controls. Closes T2568
This commit is contained in:
parent
09b4fddf84
commit
5db007e579
|
@ -346,6 +346,9 @@ _solo_focus(Term_Container *tc, Term_Container *relative)
|
||||||
solo = (Solo*) tc;
|
solo = (Solo*) tc;
|
||||||
term = solo->term;
|
term = solo->term;
|
||||||
|
|
||||||
|
if (!tc->parent)
|
||||||
|
return;
|
||||||
|
|
||||||
DBG("tc:%p tc->is_focused:%d from_parent:%d",
|
DBG("tc:%p tc->is_focused:%d from_parent:%d",
|
||||||
tc, tc->is_focused, tc->parent == relative);
|
tc, tc->is_focused, tc->parent == relative);
|
||||||
if (tc->is_focused)
|
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",
|
DBG("tc:%p tc->is_focused:%d from_parent:%d",
|
||||||
tc, tc->is_focused, tc->parent == relative);
|
tc, tc->is_focused, tc->parent == relative);
|
||||||
|
|
||||||
|
if (!tc->parent)
|
||||||
|
return;
|
||||||
|
|
||||||
if (tc->parent == relative)
|
if (tc->parent == relative)
|
||||||
{
|
{
|
||||||
tc->is_focused = EINA_TRUE;
|
tc->is_focused = EINA_TRUE;
|
||||||
|
@ -1391,7 +1398,8 @@ _split_split(Term_Container *tc, Term_Container *child,
|
||||||
}
|
}
|
||||||
|
|
||||||
static Term_Container *
|
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;
|
Evas_Object *o;
|
||||||
Term_Container *tc = NULL;
|
Term_Container *tc = NULL;
|
||||||
|
@ -2313,6 +2321,9 @@ _tabs_focus(Term_Container *tc, Term_Container *relative)
|
||||||
assert (tc->type == TERM_CONTAINER_TYPE_TABS);
|
assert (tc->type == TERM_CONTAINER_TYPE_TABS);
|
||||||
tabs = (Tabs*) tc;
|
tabs = (Tabs*) tc;
|
||||||
|
|
||||||
|
if (!tc->parent)
|
||||||
|
return;
|
||||||
|
|
||||||
DBG("tc:%p tc->is_focused:%d from_parent:%d",
|
DBG("tc:%p tc->is_focused:%d from_parent:%d",
|
||||||
tc, tc->is_focused, tc->parent == relative);
|
tc, tc->is_focused, tc->parent == relative);
|
||||||
if (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);
|
tc, tc->is_focused, tc->parent == relative);
|
||||||
if (!tc->is_focused)
|
if (!tc->is_focused)
|
||||||
return;
|
return;
|
||||||
|
if (!tc->parent)
|
||||||
|
return;
|
||||||
|
|
||||||
assert (tc->type == TERM_CONTAINER_TYPE_TABS);
|
assert (tc->type == TERM_CONTAINER_TYPE_TABS);
|
||||||
tabs = (Tabs*) tc;
|
tabs = (Tabs*) tc;
|
||||||
|
|
Loading…
Reference in New Issue