Esme Povirk (@madewokherd) commented about dlls/uiautomationcore/uia_com_client.c:
+ if (event_id->event_id != map_entry->event_id) + return (event_id->event_id > map_entry->event_id) - (event_id->event_id < map_entry->event_id); + else if (event_id->handler_iface != map_entry->handler_iface) + return (event_id->handler_iface > map_entry->handler_iface) - (event_id->handler_iface < map_entry->handler_iface); + else if (event_id->runtime_id && map_entry->runtime_id) + return uia_compare_safearrays(event_id->runtime_id, map_entry->runtime_id, UIAutomationType_IntArray); + else + return (event_id->runtime_id > map_entry->runtime_id) - (event_id->runtime_id < map_entry->runtime_id); +} + +struct uia_com_event { + IUnknown *handler_iface; + + struct list event_handler_map_list_entry; + struct uia_event_handler_map_entry *handler_map; +}; Is this struct still needed? It seems like it has no new information compared to `uia_event_handler_map_entry`.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3297#note_39202