Zhiyi Zhang (@zhiyi) commented about dlls/shell32/iconcache.c:
- if (flags) - FIXME("flags 0x%x not implemented\n", flags); + if (flags & ~SHGSI_ICON) + FIXME("unhandled flags 0x%x\n", flags);
sii->hIcon = NULL; - if (flags & SHGSI_ICON) - sii->hIcon = LoadIconW(GetModuleHandleW(sii->szPath), MAKEINTRESOURCEW(sii->iIcon)); + if (flags & SHGSI_ICON) { + sii->hIcon = LoadIconW(GetModuleHandleW(sii->szPath), MAKEINTRESOURCEW(StockIconIdToResourceId(id))); + + // many icons do not exist yet in wine, map to the question mark + if (!sii->hIcon) { + FIXME("Icon %p missing, defaulting to help icon.\n", sii->hIcon); + + sii->iIcon = IDI_SHELL_HELP - 1; Please add some tests.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8367#note_110408