Why bother with these? I don't think it's that important to have a string printed, we can always look it up later.
I would defend these to say it is not always a wine developer attempting to read the fixme's to see why something went wrong.
I think if someone has the ability to fix the bug (which inherently makes them a Wine developer) they have the ability to look up SHSTOCKICONID values. It hardly takes expertise to do so, just looking at the code.
It was not clear to me that an icon was missing when trying to get this issue resolved.
That doesn't seem relevant, though? There was no FIXME at all for the bug you were encountering.
Why change the message?
Because it is not necessarily true that if there are any flags, that they are unhandled. If you provide just `SHGSI_ICON`, we do set hIcon. This was how this was handled in another function with partial flags handling.
That's not what I'm asking though; I'm asking why you need to change the line with the FIXME. The "if (flags & ~SHGSI_ICON)" part makes sense [arguably it's not part of this change, but it's minor enough I probably wouldn't nitpick it]. But there's no reason to rewrite the FIXME message.
Also the fixme's for enum name is similar to other wine code used:
https://gitlab.winehq.org/wine/wine/-/blob/848f2cfdd5809ed3d3103d2bb221d432f...
#define X(x) case (x) : FIXME(#x" stub\n"); break X(SECPKG_ATTR_ACCESS_TOKEN);
I think that's also quite unnecessary, personally...