grabs/moving: Call cleanup_drag() unconditionally

Previously, drag placeholder would be removed in the call to
`tiling_layer.drop_window()` when dropping onto a tiling layer, but
would not be removed when dropping to a floating layer. Which would
leave a placeholder taking up space, and cause a panic on a future drag
operation.

Instead, call `cleanup_drag()` regardless, after `drop_window()`, to do
any cleanup that is still needed. This moves the call that was
previously added in 67d0a825.
This commit is contained in:
Ian Douglas Scott 2026-02-09 17:13:07 -08:00
parent de7c78accd
commit 7e48191253

View file

@ -906,6 +906,12 @@ impl Drop for MoveGrab {
} }
} }
} else { } else {
None
}
} else {
None
};
let mut shell = state.common.shell.write(); let mut shell = state.common.shell.write();
shell shell
.workspaces .workspaces
@ -914,11 +920,7 @@ impl Drop for MoveGrab {
.tiling_layer .tiling_layer
.cleanup_drag(); .cleanup_drag();
shell.set_overview_mode(None, state.common.event_loop_handle.clone()); shell.set_overview_mode(None, state.common.event_loop_handle.clone());
None drop(shell);
}
} else {
None
};
{ {
let cursor_state = seat.user_data().get::<CursorState>().unwrap(); let cursor_state = seat.user_data().get::<CursorState>().unwrap();