Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git
build: work around zig 0.10.0 bug to fix CI
river/View.zig | 25 +++++++++++++++----------
1 file 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 => {},
}