https://bugs.winehq.org/show_bug.cgi?id=47600
--- Comment #3 from Austin English austinenglish@gmail.com --- (In reply to Damjan Jovanovic from comment #2)
Clearing the XDG_DATA_DIRS environment variable seems to fix it for me, ie.:
XDG_DATA_DIRS= wine ./deadbeef.exe
I think glib consults that variable even on Windows, and since it contains *nix paths under Wine, it breaks. See this function for instance: https://docs.gtk.org/glib/func.get_system_data_dirs.html
Not too sure what the best fix is here. There's another app I found which breaks because it checks for the DISPLAY environment variable (for X11 server) which is normally absent on Windows, but present on Wine. How should *nix environment variables be hidden from Windows apps?
Bug 1490 was about a similar issue, which was closed WONTFIX with the suggestion to manually unset the variable as you did, or use `env -i`.
There used to be a list of variables that wine treated special (in dlls/kernel32/process.c), but it seems that was removed (didn't try to find when/why): https://www.winehq.org/pipermail/wine-patches/2010-February/085002.html