netsurf: fix eventTargetVtable

This commit is contained in:
Pierre Tachoire
2024-02-13 15:16:03 +01:00
parent 434c21e1da
commit bc7055c98d

View File

@@ -474,7 +474,12 @@ fn eventListenerGetData(lst: *EventListener) ?*anyopaque {
pub const EventTarget = c.dom_event_target;
fn eventTargetVtable(et: *EventTarget) c.dom_event_target_vtable {
return getVtable(c.dom_event_target_vtable, EventTarget, et);
// retrieve the vtable
const vtable = et.*.vtable.?;
// align correctly the vtable
const vtable_aligned: *align(@alignOf([*c]c.dom_event_target_vtable)) const anyopaque = @alignCast(vtable);
// convert the vtable to it's actual type and return it
return @as([*c]const c.dom_event_target_vtable, @ptrCast(vtable_aligned)).*;
}
pub inline fn toEventTarget(comptime T: type, v: *T) *EventTarget {