Merge pull request #938 from alkino/fix_sibling

Fix creating of sibling floating/children
This commit is contained in:
Drew DeVault 2016-10-07 16:37:02 -04:00 committed by GitHub
commit cd64df9b3a
1 changed files with 12 additions and 3 deletions

View File

@ -99,11 +99,20 @@ void add_floating(swayc_t *ws, swayc_t *child) {
swayc_t *add_sibling(swayc_t *fixed, swayc_t *active) {
swayc_t *parent = fixed->parent;
int i = index_child(fixed);
if (fixed->is_floating) {
list_insert(parent->floating, i + 1, active);
if (active->is_floating) {
int i = index_child(fixed);
list_insert(parent->floating, i + 1, active);
} else {
list_add(parent->children, active);
}
} else {
list_insert(parent->children, i + 1, active);
if (active->is_floating) {
list_add(parent->floating, active);
} else {
int i = index_child(fixed);
list_insert(parent->children, i + 1, active);
}
}
active->parent = parent;
// focus new child