Bugfix: Insert new containers at the right position (and add testcase)

This commit is contained in:
Michael Stapelberg
2010-07-03 17:42:36 +02:00
parent 66fc795379
commit 49ed703299
2 changed files with 54 additions and 1 deletions

View File

@ -58,7 +58,14 @@ Con *con_new(Con *parent) {
void con_attach(Con *con, Con *parent) {
con->parent = parent;
TAILQ_INSERT_TAIL(&(parent->nodes_head), con, nodes);
Con *current = TAILQ_FIRST(&(parent->focus_head));
if (current == TAILQ_END(&(parent->focus_head)))
TAILQ_INSERT_TAIL(&(parent->nodes_head), con, nodes);
else {
DLOG("inserting after\n");
TAILQ_INSERT_AFTER(&(parent->nodes_head), current, con, nodes);
}
/* We insert to the TAIL because con_focus() will correct this.
* This way, we have the option to insert Cons without having
* to focus them. */