From 17ddc7ce243c0916fbb4ce15bf66d9d25ea255f1 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Tue, 16 Apr 2024 12:05:22 -0700 Subject: [PATCH] Update `smithay` Updates for changes in https://github.com/Smithay/smithay/pull/1391. --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/input/mod.rs | 6 ++++-- src/shell/grabs/menu/mod.rs | 4 ++-- src/shell/grabs/moving.rs | 10 +++++----- src/shell/layout/floating/grabs/resize.rs | 12 ++++++------ src/shell/layout/tiling/grabs/resize.rs | 12 ++++++------ src/shell/layout/tiling/grabs/swap.rs | 2 +- src/wayland/handlers/xdg_shell/mod.rs | 2 +- 9 files changed, 27 insertions(+), 25 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b8fd56e3..ba6c6020 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4506,7 +4506,7 @@ checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" [[package]] name = "smithay" version = "0.3.0" -source = "git+https://github.com/smithay//smithay?rev=033df94#033df9407104df60751438131687bac25d20e506" +source = "git+https://github.com/smithay//smithay?rev=eea0d9c#eea0d9c171f30eb50247632fcddbb84f1dd147f0" dependencies = [ "appendlist", "ash", diff --git a/Cargo.toml b/Cargo.toml index bf9e423d..a5ec225c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -118,4 +118,4 @@ inherits = "release" lto = "fat" [patch."https://github.com/Smithay/smithay.git"] -smithay = {git = "https://github.com/smithay//smithay", rev = "033df94"} +smithay = {git = "https://github.com/smithay//smithay", rev = "eea0d9c"} diff --git a/src/input/mod.rs b/src/input/mod.rs index 9dd124c1..8eb657ad 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -1682,7 +1682,7 @@ impl State { pointer.unset_grab(self, serial, time); } if keyboard.is_grabbed() { - keyboard.unset_grab(); + keyboard.unset_grab(self); } } Action::Workspace(key_num) => { @@ -2302,7 +2302,9 @@ impl State { if let Some(focus) = keyboard_handle.current_focus() { if let Some(descriptor) = workspace.node_desc(focus) { let grab = SwapWindowGrab::new(seat.clone(), descriptor.clone()); - keyboard_handle.set_grab(grab, serial); + drop(shell); + keyboard_handle.set_grab(self, grab, serial); + let mut shell = self.common.shell.write().unwrap(); shell.set_overview_mode( Some(Trigger::KeyboardSwap(pattern, descriptor)), self.common.event_loop_handle.clone(), diff --git a/src/shell/grabs/menu/mod.rs b/src/shell/grabs/menu/mod.rs index 09edfcd6..0dbc6616 100644 --- a/src/shell/grabs/menu/mod.rs +++ b/src/shell/grabs/menu/mod.rs @@ -541,7 +541,7 @@ impl PointerGrab for MenuGrab { .any(|elem| elem.pointer_entered); if !any_entered { if event.state == ButtonState::Pressed { - handle.unset_grab(state, event.serial, event.time, true); + handle.unset_grab(self, state, event.serial, event.time, true); } } else { let selected = { @@ -554,7 +554,7 @@ impl PointerGrab for MenuGrab { selected }; if selected && event.state == ButtonState::Released { - handle.unset_grab(state, event.serial, event.time, true); + handle.unset_grab(self, state, event.serial, event.time, true); } else { handle.button(state, event); } diff --git a/src/shell/grabs/moving.rs b/src/shell/grabs/moving.rs index 5e87e715..7adae721 100644 --- a/src/shell/grabs/moving.rs +++ b/src/shell/grabs/moving.rs @@ -444,7 +444,7 @@ impl PointerGrab for MoveGrab { // While the grab is active, no client has pointer focus handle.motion(state, None, event); if !self.window.alive() { - handle.unset_grab(state, event.serial, event.time, true); + handle.unset_grab(self, state, event.serial, event.time, true); } } @@ -469,12 +469,12 @@ impl PointerGrab for MoveGrab { match self.release { ReleaseMode::NoMouseButtons => { if handle.current_pressed().is_empty() { - handle.unset_grab(state, event.serial, event.time, true); + handle.unset_grab(self, state, event.serial, event.time, true); } } ReleaseMode::Click => { if event.state == ButtonState::Pressed { - handle.unset_grab(state, event.serial, event.time, true); + handle.unset_grab(self, state, event.serial, event.time, true); } } } @@ -595,7 +595,7 @@ impl TouchGrab for MoveGrab { seq: Serial, ) { if event.slot == >::start_data(self).slot { - handle.unset_grab(data); + handle.unset_grab(self, data); } handle.up(data, event, seq); @@ -621,7 +621,7 @@ impl TouchGrab for MoveGrab { } fn cancel(&mut self, data: &mut State, handle: &mut TouchInnerHandle<'_, State>, _seq: Serial) { - handle.unset_grab(data); + handle.unset_grab(self, data); } fn start_data(&self) -> &TouchGrabStartData { diff --git a/src/shell/layout/floating/grabs/resize.rs b/src/shell/layout/floating/grabs/resize.rs index cbfb8ee1..7069f3b4 100644 --- a/src/shell/layout/floating/grabs/resize.rs +++ b/src/shell/layout/floating/grabs/resize.rs @@ -144,7 +144,7 @@ impl PointerGrab for ResizeSurfaceGrab { handle.motion(data, None, event); if self.update_location(event.location) { - handle.unset_grab(data, event.serial, event.time, true); + handle.unset_grab(self, data, event.serial, event.time, true); } } @@ -169,12 +169,12 @@ impl PointerGrab for ResizeSurfaceGrab { match self.release { ReleaseMode::NoMouseButtons => { if handle.current_pressed().is_empty() { - handle.unset_grab(data, event.serial, event.time, true); + handle.unset_grab(self, data, event.serial, event.time, true); } } ReleaseMode::Click => { if event.state == ButtonState::Pressed { - handle.unset_grab(data, event.serial, event.time, true); + handle.unset_grab(self, data, event.serial, event.time, true); } } } @@ -297,7 +297,7 @@ impl TouchGrab for ResizeSurfaceGrab { seq: Serial, ) { if event.slot == >::start_data(self).slot { - handle.unset_grab(data); + handle.unset_grab(self, data); } handle.up(data, event, seq); @@ -313,7 +313,7 @@ impl TouchGrab for ResizeSurfaceGrab { ) { if event.slot == >::start_data(self).slot { if self.update_location(event.location) { - handle.unset_grab(data); + handle.unset_grab(self, data); } } @@ -325,7 +325,7 @@ impl TouchGrab for ResizeSurfaceGrab { } fn cancel(&mut self, data: &mut State, handle: &mut TouchInnerHandle<'_, State>, _seq: Serial) { - handle.unset_grab(data); + handle.unset_grab(self, data); } fn start_data(&self) -> &TouchGrabStartData { diff --git a/src/shell/layout/tiling/grabs/resize.rs b/src/shell/layout/tiling/grabs/resize.rs index 8387576d..58988d27 100644 --- a/src/shell/layout/tiling/grabs/resize.rs +++ b/src/shell/layout/tiling/grabs/resize.rs @@ -343,7 +343,7 @@ impl PointerGrab for ResizeForkGrab { handle.motion(data, None, event); if self.update_location(data, event.location) { - handle.unset_grab(data, event.serial, event.time, true); + handle.unset_grab(self, data, event.serial, event.time, true); } } @@ -368,12 +368,12 @@ impl PointerGrab for ResizeForkGrab { match self.release { ReleaseMode::NoMouseButtons => { if handle.current_pressed().is_empty() { - handle.unset_grab(data, event.serial, event.time, true); + handle.unset_grab(self, data, event.serial, event.time, true); } } ReleaseMode::Click => { if event.state == ButtonState::Pressed { - handle.unset_grab(data, event.serial, event.time, true); + handle.unset_grab(self, data, event.serial, event.time, true); } } } @@ -494,7 +494,7 @@ impl TouchGrab for ResizeForkGrab { seq: Serial, ) { if event.slot == >::start_data(self).slot { - handle.unset_grab(data); + handle.unset_grab(self, data); } handle.up(data, event, seq); @@ -510,7 +510,7 @@ impl TouchGrab for ResizeForkGrab { ) { if event.slot == >::start_data(self).slot { if self.update_location(data, event.location) { - handle.unset_grab(data); + handle.unset_grab(self, data); } } @@ -522,7 +522,7 @@ impl TouchGrab for ResizeForkGrab { } fn cancel(&mut self, data: &mut State, handle: &mut TouchInnerHandle<'_, State>, _seq: Serial) { - handle.unset_grab(data); + handle.unset_grab(self, data); } fn start_data(&self) -> &TouchGrabStartData { diff --git a/src/shell/layout/tiling/grabs/swap.rs b/src/shell/layout/tiling/grabs/swap.rs index bbba5353..73b0dbc8 100644 --- a/src/shell/layout/tiling/grabs/swap.rs +++ b/src/shell/layout/tiling/grabs/swap.rs @@ -41,7 +41,7 @@ impl KeyboardGrab for SwapWindowGrab { ) { if !matches!(&data.common.shell.read().unwrap().overview_mode, OverviewMode::Started(Trigger::KeyboardSwap(_, d), _) if d == &self.desc) { - handle.unset_grab(data, serial, false); + handle.unset_grab(self, data, serial, false); return; } diff --git a/src/wayland/handlers/xdg_shell/mod.rs b/src/wayland/handlers/xdg_shell/mod.rs index 343c1913..1731428b 100644 --- a/src/wayland/handlers/xdg_shell/mod.rs +++ b/src/wayland/handlers/xdg_shell/mod.rs @@ -98,7 +98,7 @@ impl XdgShellHandler for State { return; } Shell::set_focus(self, grab.current_grab().as_ref(), &seat, Some(serial)); - keyboard.set_grab(PopupKeyboardGrab::new(&grab), serial); + keyboard.set_grab(self, PopupKeyboardGrab::new(&grab), serial); } if let Some(pointer) = seat.get_pointer() {