May 21, 2026
6:28 p.m.
Nikolay Sivov (@nsivov) commented about dlls/scrrun/dictionary.c:
- return IDictionary_Add(iface, newkey, &empty); + VariantInit(&new_key); + hr = VariantCopyInd(&new_key, newkey); + if (FAILED(hr)) + return hr; + + VariantClear(&pair->key); + pair->key = new_key; + pair->hash = V_I4(&hash); + + list_remove(&pair->bucket); + head = get_bucket_head(dictionary, pair->hash); + if (!head->next) + list_init(head); + list_add_tail(head, &pair->bucket); + This pretty much duplicates existing logic, it's not a lot but could you try to share some of this with add_keyitem_pair()?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10961#note_140978