aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--river/View.zig25
1 files changed, 15 insertions, 10 deletions
diff --git a/river/View.zig b/river/View.zig
index 9a860b7..249cf0e 100644
--- a/river/View.zig
+++ b/river/View.zig
@@ -297,17 +297,22 @@ pub fn updateCurrent(view: *Self) void {
}
xdg_toplevel.configure_state = .idle;
},
- .xwayland_view => |xwayland_view| {
- if (view.inflight.resizing) {
- view.resizeUpdatePosition(
- xwayland_view.xwayland_surface.width,
- xwayland_view.xwayland_surface.height,
- );
+ // TODO(zig): this capture does not need to be mutable and the if (build_options.xwayland)
+ // is unnecessary. However, zig 0.10.0 is buggy and these work around a bug. They are both
+ // fixed in zig 0.10.1 and newer but we currently rely on 0.10.0 for FreeBSD CI.
+ .xwayland_view => |*xwayland_view| {
+ if (build_options.xwayland) {
+ if (view.inflight.resizing) {
+ view.resizeUpdatePosition(
+ xwayland_view.xwayland_surface.width,
+ xwayland_view.xwayland_surface.height,
+ );
+ }
+ view.inflight.box.width = xwayland_view.xwayland_surface.width;
+ view.inflight.box.height = xwayland_view.xwayland_surface.height;
+ view.pending.box.width = xwayland_view.xwayland_surface.width;
+ view.pending.box.height = xwayland_view.xwayland_surface.height;
}
- view.inflight.box.width = xwayland_view.xwayland_surface.width;
- view.inflight.box.height = xwayland_view.xwayland_surface.height;
- view.pending.box.width = xwayland_view.xwayland_surface.width;
- view.pending.box.height = xwayland_view.xwayland_surface.height;
},
.none => {},
}