diff --git a/src/shell/grabs/moving.rs b/src/shell/grabs/moving.rs index f59f93d6..8b01d086 100644 --- a/src/shell/grabs/moving.rs +++ b/src/shell/grabs/moving.rs @@ -906,20 +906,22 @@ impl Drop for MoveGrab { } } } else { - let mut shell = state.common.shell.write(); - shell - .workspaces - .active_mut(&cursor_output) - .unwrap() - .tiling_layer - .cleanup_drag(); - shell.set_overview_mode(None, state.common.event_loop_handle.clone()); None } } else { None }; + let mut shell = state.common.shell.write(); + shell + .workspaces + .active_mut(&cursor_output) + .unwrap() + .tiling_layer + .cleanup_drag(); + shell.set_overview_mode(None, state.common.event_loop_handle.clone()); + drop(shell); + { let cursor_state = seat.user_data().get::().unwrap(); cursor_state.lock().unwrap().unset_shape();