Nikolay Sivov (@nsivov) commented about dlls/comctl32/commctrl.c:
- VERSION WC_BUTTONA, - VERSION WC_COMBOBOXA, - VERSION "ComboLBox", - VERSION WC_EDITA, - VERSION WC_LISTBOXA, - VERSION WC_STATICA, - }; - int i; - - for (i = 0; i < ARRAY_SIZE(classes); i++) - UnregisterClassA(classes[i], NULL); - -#undef VERSION + const WCHAR *name; + void (*fn_register)(void); + BOOL registered; Could we get rid of this flag and unregister unconditionally? For example, if you load comctl32.dll manually, without triggering registration (is that possible?), then register some custom class called ListView, does it get unregistered on dll unload? Or maybe it's always safe if you use comctl32's HINSTANCE. As it is now, this flag name does not match what it necessarily means internally.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9822#note_126212