diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-04-06 13:57:04 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-04-06 13:57:04 -0400 |
commit | c8be7bfc1e0c65730a5bf713e61105cd38bf9f4f (patch) | |
tree | 5fa4acddfe3f9d94cb3d641980038a0c9435a637 /sway/tree | |
parent | 1f70b94f34813ee997a175e943dabbfec96648a6 (diff) | |
download | sway-c8be7bfc1e0c65730a5bf713e61105cd38bf9f4f.tar.xz |
Fix another of @orestisf1993's issues
Diffstat (limited to 'sway/tree')
-rw-r--r-- | sway/tree/layout.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/sway/tree/layout.c b/sway/tree/layout.c index f4049c71..b03b80d9 100644 --- a/sway/tree/layout.c +++ b/sway/tree/layout.c @@ -364,8 +364,8 @@ void container_move(struct sway_container *container, return; } } else { - wlr_log(L_DEBUG, "Selecting sibling"); sibling = parent->children->items[index + offs]; + wlr_log(L_DEBUG, "Selecting sibling id:%zd", sibling->id); } } else { wlr_log(L_DEBUG, "Moving up to find a parallel container"); @@ -419,9 +419,12 @@ void container_move(struct sway_container *container, container_remove_child(container); struct sway_container *focus_inactive = seat_get_focus_inactive( config->handler_context.seat, sibling); - wlr_log(L_DEBUG, "Focus inactive: %zd", focus_inactive ? - focus_inactive->id : 0); if (focus_inactive) { + while (focus_inactive->parent != sibling) { + focus_inactive = focus_inactive->parent; + } + wlr_log(L_DEBUG, "Focus inactive: id:%zd", + focus_inactive->id); sibling = focus_inactive; continue; } else if (sibling->children->length) { |