From cc72e6de237c79c85488907cbd1083b769a0a6bd Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 3 May 2024 20:45:46 -0700 Subject: [PATCH] pkg/macos: display link callback slightly more typesafe --- pkg/macos/video/display_link.zig | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/macos/video/display_link.zig b/pkg/macos/video/display_link.zig index 0ccae691d..456d7f8d1 100644 --- a/pkg/macos/video/display_link.zig +++ b/pkg/macos/video/display_link.zig @@ -52,8 +52,9 @@ pub const DisplayLink = opaque { // pass this through. pub fn setOutputCallback( self: *DisplayLink, - comptime callbackFn: *const fn (*DisplayLink, ?*anyopaque) void, - userinfo: ?*anyopaque, + comptime Userdata: type, + comptime callbackFn: *const fn (*DisplayLink, ?*Userdata) void, + userinfo: ?*Userdata, ) Error!void { if (c.CVDisplayLinkSetOutputCallback( @ptrCast(self), @@ -71,7 +72,10 @@ pub const DisplayLink = opaque { _ = flagsIn; _ = flagsOut; - callbackFn(displayLink, inner_userinfo); + callbackFn( + displayLink, + @alignCast(@ptrCast(inner_userinfo)), + ); return c.kCVReturnSuccess; } }).callback),