forked from enlightenment/enlightenment
Tiling2: More bug fixing.
This commit is contained in:
parent
f7f204353d
commit
0c5afecfc9
|
@ -137,11 +137,11 @@ tiling_window_tree_remove(Window_Tree *root, Window_Tree *item)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Window_Tree *parent = item->parent;
|
||||||
int children_count = eina_inlist_count(item->parent->children);
|
int children_count = eina_inlist_count(item->parent->children);
|
||||||
|
|
||||||
if (children_count <= 2)
|
if (children_count <= 2)
|
||||||
{
|
{
|
||||||
Window_Tree *parent = item->parent;
|
|
||||||
Window_Tree *grand_parent = parent->parent;
|
Window_Tree *grand_parent = parent->parent;
|
||||||
Window_Tree *item_keep = NULL;
|
Window_Tree *item_keep = NULL;
|
||||||
/* Adjust existing children's weights */
|
/* Adjust existing children's weights */
|
||||||
|
@ -180,28 +180,27 @@ tiling_window_tree_remove(Window_Tree *root, Window_Tree *item)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* FIXME: Toggle root tree direction. */
|
/* This is fine, as this is a child of the root so we allow two
|
||||||
item_keep->parent = NULL;
|
* levels. */
|
||||||
root = item_keep;
|
|
||||||
goto end;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
parent->children = eina_inlist_remove(parent->children, EINA_INLIST_GET(item));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Window_Tree *itr;
|
Window_Tree *itr;
|
||||||
float weight = 1.0 - item->weight;
|
float weight = 1.0 - item->weight;
|
||||||
|
|
||||||
item->parent->children = eina_inlist_remove(item->parent->children,
|
parent->children = eina_inlist_remove(parent->children,
|
||||||
EINA_INLIST_GET(item));
|
EINA_INLIST_GET(item));
|
||||||
|
|
||||||
/* Adjust existing children's weights */
|
/* Adjust existing children's weights */
|
||||||
EINA_INLIST_FOREACH(item->parent->children, itr)
|
EINA_INLIST_FOREACH(parent->children, itr)
|
||||||
{
|
{
|
||||||
itr->weight /= weight;
|
itr->weight /= weight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
end:
|
|
||||||
free(item);
|
free(item);
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue