When the compiler hits IGFD, WIN32 is only set if standard extensions are enabled. (Why?)
IGFD identifies Windows via WIN32 instead of _WIN32. (Why?)
- WIN32 is needed for #ifdef-gated Windows-specific methods in the header & code files.
- There's fallback code in the code file to set WIN32 if _WIN32 or __WIN32__ is set.
- Which is hit *after* the header gets included, so the header doesn't expose required methods.
-> Boom, error!
Workaround by moving the fallback into the header.
oh yes, the wonders of dealing with this useless broken file dialog.
honestly I didn't think it was broken to this point...
and no, I don't want to use the **other** file dialog as it requires
C++17 which is too ahead of time