From dbfaa05a679bce85c0c83f02176dbbd10e820a22 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Thu, 18 Apr 2024 10:48:59 +0200 Subject: [PATCH] XdgToplevel: don't update geometry if configure inflight (cherry picked from commit d1dc873408d2b45c53dfc174ad0eadfe15a2355e) --- river/XdgToplevel.zig | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/river/XdgToplevel.zig b/river/XdgToplevel.zig index 58e18c7..438794c 100644 --- a/river/XdgToplevel.zig +++ b/river/XdgToplevel.zig @@ -319,11 +319,11 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void { }; } - const old_geometry = toplevel.geometry; - toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry); - switch (toplevel.configure_state) { .idle, .committed, .timed_out => { + const old_geometry = toplevel.geometry; + toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry); + const size_changed = toplevel.geometry.width != old_geometry.width or toplevel.geometry.height != old_geometry.height; const no_layout = view.current.output != null and view.current.output.?.layout == null; @@ -360,6 +360,8 @@ fn handleCommit(listener: *wl.Listener(*wlr.Surface), _: *wlr.Surface) void { // stashed buffer from when the transaction started. .inflight => view.sendFrameDone(), .acked, .timed_out_acked => { + toplevel.wlr_toplevel.base.getGeometry(&toplevel.geometry); + if (view.inflight.resizing) { view.resizeUpdatePosition(toplevel.geometry.width, toplevel.geometry.height); }