aboutsummaryrefslogtreecommitdiff
path: root/sway/input/seat.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r--sway/input/seat.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c
index cffceaae..d7733855 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -1110,9 +1110,6 @@ static void seat_end_move_tiling(struct sway_seat *seat) {
int after = edge != WLR_EDGE_TOP && edge != WLR_EDGE_LEFT;
container_detach(con);
- if (old_parent) {
- container_reap_empty(old_parent);
- }
// Moving container into empty workspace
if (target_node->type == N_WORKSPACE && edge == WLR_EDGE_NONE) {
@@ -1135,6 +1132,10 @@ static void seat_end_move_tiling(struct sway_seat *seat) {
workspace_insert_tiling(new_ws, con, after);
}
+ if (old_parent) {
+ container_reap_empty(old_parent);
+ }
+
// This is a bit dirty, but we'll set the dimensions to that of a sibling.
// I don't think there's any other way to make it consistent without
// changing how we auto-size containers.
@@ -1173,7 +1174,7 @@ void seat_end_mouse_operation(struct sway_seat *seat) {
seat->cursor->previous.x = seat->op_ref_lx;
seat->cursor->previous.y = seat->op_ref_ly;
if (seat->op_moved) {
- cursor_send_pointer_motion(seat->cursor, 0, true);
+ cursor_send_pointer_motion(seat->cursor, 0);
}
} else {
cursor_set_image(seat->cursor, "left_ptr", NULL);
@@ -1207,5 +1208,5 @@ void seat_consider_warp_to_focus(struct sway_seat *seat) {
} else {
cursor_warp_to_workspace(seat->cursor, focus->sway_workspace);
}
- cursor_send_pointer_motion(seat->cursor, 0, false);
+ cursor_rebase(seat->cursor);
}