From aeaa745600c1c44a63f2ed8c419d0d22219005da Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Wed, 22 May 2024 08:51:11 +0200 Subject: [PATCH] clearTimeout: ignore invalid timeout ids --- src/html/window.zig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/html/window.zig b/src/html/window.zig index 251a1cf5..b81c91ba 100644 --- a/src/html/window.zig +++ b/src/html/window.zig @@ -105,8 +105,12 @@ pub const Window = struct { return self.timeoutid; } - pub fn _clearTimeout(self: *Window, loop: *Loop, id: u32) !void { - if (id >= self.timeoutid) return error.InvalidTimeoutId; + pub fn _clearTimeout(self: *Window, loop: *Loop, id: u32) void { + // I do would prefer return an error in this case, but it seems some JS + // uses invalid id, in particular id 0. + // So we silently ignore invalid id for now. + if (id >= self.timeoutid) return; + loop.cancel(self.timeoutids[id], null); } };