From 05c9194ebaa1b66bb30ffec8d9d636dc4343b53b Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Sat, 24 Dec 2022 17:38:02 +0100 Subject: [PATCH] build: handle wlroots built without xwayland support --- deps/zig-wlroots | 2 +- river/Cursor.zig | 15 ++++++++++----- river/Seat.zig | 4 +++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/deps/zig-wlroots b/deps/zig-wlroots index 199463a..b485332 160000 --- a/deps/zig-wlroots +++ b/deps/zig-wlroots @@ -1 +1 @@ -Subproject commit 199463a741061511561f6c139d49d4b00212d5bf +Subproject commit b485332edb2bfc8db42d474a019e7df835a7d1be diff --git a/river/Cursor.zig b/river/Cursor.zig index 3f15f3b..1ee4d97 100644 --- a/river/Cursor.zig +++ b/river/Cursor.zig @@ -1125,11 +1125,16 @@ fn warp(self: *Self) void { .width = view.current.box.width, .height = view.current.box.height, }, - .xwayland_override_redirect => |or_window| wlr.Box{ - .x = or_window.xwayland_surface.x, - .y = or_window.xwayland_surface.y, - .width = or_window.xwayland_surface.width, - .height = or_window.xwayland_surface.height, + .xwayland_override_redirect => |or_window| blk: { + assert(build_options.xwayland); + // TODO(zig): remove this line when updating to the self hosted compiler. + if (!build_options.xwayland) return; + break :blk wlr.Box{ + .x = or_window.xwayland_surface.x, + .y = or_window.xwayland_surface.y, + .width = or_window.xwayland_surface.width, + .height = or_window.xwayland_surface.height, + }; }, }, }; diff --git a/river/Seat.zig b/river/Seat.zig index d678e83..1ffddaa 100644 --- a/river/Seat.zig +++ b/river/Seat.zig @@ -49,7 +49,7 @@ const PointerConstraint = @import("PointerConstraint.zig"); pub const FocusTarget = union(enum) { view: *View, - xwayland_override_redirect: *XwaylandOverrideRedirect, + xwayland_override_redirect: if (build_options.xwayland) *XwaylandOverrideRedirect else void, layer: *LayerSurface, lock_surface: *LockSurface, none: void, @@ -221,6 +221,8 @@ pub fn setFocusRaw(self: *Self, new_focus: FocusTarget) void { .view => |target_view| target_view.surface.?, .xwayland_override_redirect => |target_override_redirect| blk: { assert(build_options.xwayland); + // TODO(zig): remove this line when updating to the self hosted compiler. + if (!build_options.xwayland) return; break :blk target_override_redirect.xwayland_surface.surface; }, .layer => |target_layer| target_layer.wlr_layer_surface.surface,