From c2e723ca28321e09fbf58f396cb9e98591344a7e Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Sat, 23 Aug 2025 08:08:35 +0200 Subject: add optional object ref to requests --- src/wl/display.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/wl/display.zig b/src/wl/display.zig index ed4a94f..3b5087d 100644 --- a/src/wl/display.zig +++ b/src/wl/display.zig @@ -91,7 +91,8 @@ pub fn request(self: *Self, object: anytype, args: @TypeOf(object.*).Request) !v inline for (data) |value| { switch (@TypeOf(value)) { u32, i32 => |t| size += @sizeOf(t), - wayland.Object.Ref => size += @sizeOf(u32), + wayland.Object.Ref, + ?wayland.Object.Ref => size += @sizeOf(u32), []const u8, []u8 => { const padding_size: usize = padding_len(u8, value.len + 1); size += @as(u32, @intCast(@sizeOf(u32) + (value.len + 1) + padding_size)); @@ -114,6 +115,7 @@ pub fn request(self: *Self, object: anytype, args: @TypeOf(object.*).Request) !v switch (@TypeOf(value)) { u32, i32 => _ = try self.stream.writeAll(std.mem.asBytes(&value)), wayland.Object.Ref => try self.stream.writeAll(std.mem.asBytes(&(@as(u32, @truncate(value))))), + ?wayland.Object.Ref => try self.stream.writeAll(std.mem.asBytes(&(@as(u32, 0)))), []const u8, []u8 => { const padding_size: usize = padding_len(u8, value.len + 1); _ = try self.stream.writeAll(std.mem.asBytes(&@as(u32, @truncate(value.len + 1)))); -- cgit v1.2.3-70-g09d2