Jacek Caban (@jacek) commented about dlls/mshtml/htmlelem.c:
+ {DISPID_IHTMLELEMENT6_ONPROGRESS}, + {DISPID_IHTMLELEMENT6_ONRATECHANGE}, + {DISPID_IHTMLELEMENT6_ONRESET}, + {DISPID_IHTMLELEMENT6_ONSEEKED}, + {DISPID_IHTMLELEMENT6_ONSEEKING}, + {DISPID_IHTMLELEMENT6_ONSELECT}, + {DISPID_IHTMLELEMENT6_ONSTALLED}, + {DISPID_IHTMLELEMENT6_ONSUBMIT}, + {DISPID_IHTMLELEMENT6_ONSUSPEND}, + {DISPID_IHTMLELEMENT6_ONTIMEUPDATE}, + {DISPID_IHTMLELEMENT6_ONVOLUMECHANGE}, + {DISPID_IHTMLELEMENT6_ONWAITING}, + {DISPID_IHTMLELEMENT6_IE9_HASATTRIBUTES}, + {DISPID_UNKNOWN} + }; + const dispex_hook_t *const elem6_hooks = elem6_ie10_hooks + 4; With allow-lists from the other comments, you could easily avoid magic numbers like that and instead have it like:
add_dispids(elem6_ie10);
if(compat_mode < IE10)
add_dispids(elem6_ie9);
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/6910#note_89028