grabs/moving: cleanup drag in tiling layer if window doesn't exist
This commit is contained in:
parent
813dd0ce1c
commit
67d0a825d1
1 changed files with 9 additions and 0 deletions
|
|
@ -786,6 +786,7 @@ impl Drop for MoveGrab {
|
||||||
let previous = self.previous;
|
let previous = self.previous;
|
||||||
let window = self.window.clone();
|
let window = self.window.clone();
|
||||||
let is_touch_grab = matches!(self.start_data, GrabStartData::Touch(_));
|
let is_touch_grab = matches!(self.start_data, GrabStartData::Touch(_));
|
||||||
|
let cursor_output = self.cursor_output.clone();
|
||||||
|
|
||||||
let _ = self.evlh.0.insert_idle(move |state| {
|
let _ = self.evlh.0.insert_idle(move |state| {
|
||||||
let position: Option<(CosmicMapped, Point<i32, Global>)> = if let Some(grab_state) =
|
let position: Option<(CosmicMapped, Point<i32, Global>)> = if let Some(grab_state) =
|
||||||
|
|
@ -889,6 +890,14 @@ impl Drop for MoveGrab {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} 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
|
None
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue