netsurf: fix eventTargetVtable

This commit is contained in:
Pierre Tachoire committed 2024-02-15 14:49:24 +01:00
1 parent 434c21e1da
commit bc7055c98d
1 file changed
+6 -1
+6 -1
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 {