> The Vista stuff doesn't compile on the Vista SDK - ShObjIdl.h needs
> NTDDI_VERSION set to NTDDI_LONGHORN or better, but only MOZ_WINSDK_TARGETVER
> is set, so we try to compile against interfaces that haven't been defined...
> Also the Vista SDK doesn't define FILEOPENDIALOGOPTIONS; newer SDKs typedef
> it as equivalent to DWORD.
Strange. As I pointed out to Neil on IRC, the _WIN32_WINNT at https://mxr.mozilla.org/mozilla-central/source/widget/src/windows/nsFilePicker.h#47 should get translated to NTDDI_VERSION. Maybe the Vista SDK does something wrong here?
Not sure, I'm setting up a vm with the old sdk and build tool to figure it out.
Aha, it's because the Vista SDK doesn't define _WIN32_WINNT_VISTA, you need to use _WIN32_WINNT_LONGHORN which fixes that bit.
(In reply to firstname.lastname@example.org from comment #3)
> Aha, it's because the Vista SDK doesn't define _WIN32_WINNT_VISTA, you need
> to use _WIN32_WINNT_LONGHORN which fixes that bit.
I don't have this setup to test yet, are you saying changing this line in the header:
#define _WIN32_WINNT _WIN32_WINNT_VISTA
#define _WIN32_WINNT _WIN32_WINNT_LONGHORN
will fix this bug?
Created attachment 582106 [details] [diff] [review]
Fixup for vista sdk builds.
Comment on attachment 582106 [details] [diff] [review]
>+typedef DWORD FILEOPENDIALOGOPTIONS;
Not sure what use this is because it's not a #define in the Windows 7 SDK.
>-#if _WIN32_WINNT < _WIN32_WINNT_VISTA
>+#if _WIN32_WINNT < _WIN32_WINNT_LONGHORN
> #define _WIN32_WINNT_bak _WIN32_WINNT
> #undef _WIN32_WINNT
>-#define _WIN32_WINNT _WIN32_WINNT_VISTA
>+#define _WIN32_WINNT _WIN32_WINNT_LONGHORN
This part works fine.
Created attachment 582826 [details] [diff] [review]
My mistake. Updated patch.