bugfix: forgot to mark split containers as split = true (+test) (Thanks szalik)

When the workspace layout (formerly orientation) was forced to change
due to a move command, the split container we created was not marked as
split = true, which caused tree_flatten() to errnously kill the contents
of it and thus one window ended up unmanaged.

Also, the logic in tree_flatten() was inverted due to commit de94f6da.

fixes #790
This commit is contained in:
Michael Stapelberg
2012-09-05 22:03:45 +02:00
parent a598544b5a
commit d644dbff64
3 changed files with 26 additions and 3 deletions

View File

@ -617,8 +617,8 @@ void tree_flatten(Con *con) {
/* The child must have a different orientation than the con but the same as
* the cons parent to be redundant */
if (con->split ||
child->split ||
if (!con->split ||
!child->split ||
con_orientation(con) == con_orientation(child) ||
con_orientation(child) != con_orientation(parent))
goto recurse;