sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 01117db6d9c50572646f9c49e50e02473129c7d4
parent 97474f12e371c7b92c57f1f107897c29f0f704b2
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date:   Thu,  6 Sep 2018 11:53:55 +1000

Fix crash when moving view across outputs

It was incorrectly determining that the container being moved and the
destination had the same parent, which resulted in tree corruption. Both
parents can be NULL but the containers may belong to different
workspaces.

To reproduce, create layout H[V[view] view] in one workspace then move a
view left or right from another output into that workspace.

Diffstat:
Msway/commands/move.c | 3++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/sway/commands/move.c b/sway/commands/move.c @@ -117,7 +117,8 @@ static void container_move_to_container_from_direction( struct sway_container *container, struct sway_container *destination, enum movement_direction move_dir) { if (destination->view) { - if (destination->parent == container->parent) { + if (destination->parent == container->parent && + destination->workspace == container->workspace) { wlr_log(WLR_DEBUG, "Swapping siblings"); list_t *siblings = container_get_siblings(container); int container_index = list_find(siblings, container);