From ed0ec55697b11fa54ff661bc6c250398a096f85a Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Wed, 27 Aug 2025 20:34:57 +0200 Subject: update Object.Ref to be a struct --- src/wl/display.zig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/wl/display.zig') diff --git a/src/wl/display.zig b/src/wl/display.zig index 2a7b94c..d8b9e93 100644 --- a/src/wl/display.zig +++ b/src/wl/display.zig @@ -83,7 +83,7 @@ pub fn request(self: *Self, object: anytype, args: @TypeOf(object.*).Request) !v inline for (@typeInfo(tag_type).@"enum".fields) |f| { if (f.value == opcode) { const data = if (@FieldType(@TypeOf(args), f.name) == void) .{} else @field(args, f.name); - const id: u32 = @truncate(object.handle); + const id: u32 = object.handle.id; var size: u32 = 8; comptime var count_fds = 0; @@ -131,8 +131,8 @@ pub fn request(self: *Self, object: anytype, args: @TypeOf(object.*).Request) !v inline for (data) |value| { 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, @truncate(if (value) |v| v else 0))))), + wayland.Object.Ref => try self.stream.writeAll(std.mem.asBytes(&value.id)), + ?wayland.Object.Ref => try self.stream.writeAll(std.mem.asBytes(&(if (value) |v| v else 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)))); @@ -184,7 +184,7 @@ fn read_event(self: *Self, ctx: *const wayland.Context) !void { return error.UnregisteredObject; } - if (self.registry.get(object_id)) |object| { + if (self.registry.get_by_id(object_id)) |object| { try object.on_event(ctx, opcode, body); } else { return error.UnregisteredObject; @@ -230,7 +230,7 @@ fn delete_id( id: u32, ) void { _ = ctx; - self.registry.release_object(id); + self.registry.release_object(.{ .id = id }); } test "request" { -- cgit v1.2.3-70-g09d2