git.lucas.co / cce-ui
GPU-accelerated UI toolkit (Vulkan)
git clone https://git.lucas.co/cce-ui.git

commit1021644b9d489126a6517c7c6b81465c1ca4421c
parent02f782a9f0
authorLucas Galante <[email protected]>
date2026-06-24 10:34
Fix window move and resize seat lookup fallback

 src/backend/window_runner.rs | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backend/window_runner.rs b/src/backend/window_runner.rs
index d877d7e..b29634e 100644
--- a/src/backend/window_runner.rs
+++ b/src/backend/window_runner.rs
@@ -1683,7 +1683,8 @@ impl<A: Application> PointerHandler for EngineState<A> {
 
                         if edge != smithay_client_toolkit::reexports::protocols::xdg::shell::client::xdg_toplevel::ResizeEdge::None {
                             if let Some(ref window) = self.window {
-                                if let Some(seat) = self.seats.first() {
+                                let seat_owned = self.seats.first().cloned().or_else(|| self.seat_state.seats().next());
+                                if let Some(ref seat) = seat_owned {
                                     window.resize(seat, *serial, edge);
                                     continue;
                                 }
@@ -1702,7 +1703,8 @@ impl<A: Application> PointerHandler for EngineState<A> {
 
                         if should_move {
                             if let Some(ref window) = self.window {
-                                if let Some(seat) = self.seats.first() {
+                                let seat_owned = self.seats.first().cloned().or_else(|| self.seat_state.seats().next());
+                                if let Some(ref seat) = seat_owned {
                                     window.move_(seat, *serial);
                                     continue;
                                 }