fix segfault on http error callback

This commit is contained in:
Karl Seguin
2025-11-04 10:40:53 +08:00
parent 70e02dcfc7
commit 7c825cbe82

View File

@@ -640,13 +640,14 @@ const Script = struct {
fn errorCallback(ctx: *anyopaque, err: anyerror) void { fn errorCallback(ctx: *anyopaque, err: anyerror) void {
const self: *Script = @ptrCast(@alignCast(ctx)); const self: *Script = @ptrCast(@alignCast(ctx));
log.warn(.http, "script fetch error", .{ .req = self.url, .err = err }); log.warn(.http, "script fetch error", .{ .req = self.url, .err = err });
self.manager.scriptList(self).remove(&self.node); const manager = self.manager;
manager.scriptList(self).remove(&self.node);
if (self.mode == .import) { if (self.mode == .import) {
const entry = self.manager.imported_modules.getPtr(self.url).?; const entry = self.manager.imported_modules.getPtr(self.url).?;
entry.* = error.Failed; entry.* = error.Failed;
} }
self.deinit(true); self.deinit(true);
self.manager.evaluate(); manager.evaluate();
} }
fn eval(self: *Script, page: *Page) void { fn eval(self: *Script, page: *Page) void {