diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-03 10:14:24 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-03 10:23:21 +0300 |
| commit | e0ebf1bdff06c38ae3cc9e3114b41572cb792dc0 (patch) | |
| tree | b3c8799cb7ad9a32e48ace0540b030e7397d4604 /src/input/mod.rs | |
| parent | 11633aef98fa7e7bfab42a85164377c9f4afd142 (diff) | |
| download | niri-e0ebf1bdff06c38ae3cc9e3114b41572cb792dc0.tar.gz niri-e0ebf1bdff06c38ae3cc9e3114b41572cb792dc0.tar.bz2 niri-e0ebf1bdff06c38ae3cc9e3114b41572cb792dc0.zip | |
Remove pointer_grab_ongoing in favor of checking the actual grab
Diffstat (limited to 'src/input/mod.rs')
| -rw-r--r-- | src/input/mod.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/input/mod.rs b/src/input/mod.rs index 888631e2..5800b8a4 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -1320,8 +1320,13 @@ impl State { self.niri.tablet_cursor_location = None; // Check if we have an active pointer constraint. + // + // FIXME: ideally this should use the pointer focus with up-to-date global location. let mut pointer_confined = None; if let Some(under) = &self.niri.pointer_contents.surface { + // No need to check if the pointer focus surface matches, because here we're checking + // for an already-active constraint, and the constraint is deactivated when the focused + // surface changes. let pos_within_surface = pos - under.1; let mut pointer_locked = false; @@ -1583,7 +1588,6 @@ impl State { }; let grab = MoveGrab::new(start_data, window.clone()); pointer.set_grab(self, grab, serial, Focus::Clear); - self.niri.pointer_grab_ongoing = true; self.niri .cursor_manager .set_cursor_image(CursorImageStatus::Named(CursorIcon::Move)); @@ -1649,7 +1653,6 @@ impl State { }; let grab = ResizeGrab::new(start_data, window.clone()); pointer.set_grab(self, grab, serial, Focus::Clear); - self.niri.pointer_grab_ongoing = true; self.niri.cursor_manager.set_cursor_image( CursorImageStatus::Named(edges.cursor_icon()), ); @@ -1685,7 +1688,6 @@ impl State { }; let grab = SpatialMovementGrab::new(start_data, output); pointer.set_grab(self, grab, serial, Focus::Clear); - self.niri.pointer_grab_ongoing = true; self.niri .cursor_manager .set_cursor_image(CursorImageStatus::Named(CursorIcon::AllScroll)); |
