From a5f604da718f600088504a37083ae1d160121af0 Mon Sep 17 00:00:00 2001 From: Leah Amelia Chen Date: Fri, 28 Aug 2026 07:02:19 +0800 Subject: [PATCH] renderer: make LatestFrame methods no-ops when ExportedFrame is void --- src/renderer/generic.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/renderer/generic.zig b/src/renderer/generic.zig index 05f032a55..52ecaa217 100644 --- a/src/renderer/generic.zig +++ b/src/renderer/generic.zig @@ -985,6 +985,8 @@ pub fn Renderer(comptime GraphicsAPI: type) type { latest: ?ExportedFrame = null, pub fn push(self: *LatestFrame, io: std.Io, value: ExportedFrame) void { + if (comptime ExportedFrame == void) return; + self.mutex.lockUncancelable(io); defer self.mutex.unlock(io); if (self.latest) |*old| old.deinit(); @@ -992,6 +994,8 @@ pub fn Renderer(comptime GraphicsAPI: type) type { } pub fn take(self: *LatestFrame, io: std.Io) ?ExportedFrame { + if (comptime ExportedFrame == void) return null; + self.mutex.lockUncancelable(io); defer self.mutex.unlock(io); const result = self.latest orelse return null; @@ -1000,6 +1004,8 @@ pub fn Renderer(comptime GraphicsAPI: type) type { } pub fn deinit(self: *LatestFrame, io: std.Io) void { + if (comptime ExportedFrame == void) return; + self.mutex.lockUncancelable(io); defer self.mutex.unlock(io); if (self.latest) |*v| v.deinit();