> 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 email@example.com 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 to #define _WIN32_WINNT _WIN32_WINNT_LONGHORN will fix this bug?
Created attachment 582106 [details] [diff] [review] fix Fixup for vista sdk builds.
Comment on attachment 582106 [details] [diff] [review] fix >+#ifndef FILEOPENDIALOGOPTIONS >+typedef DWORD FILEOPENDIALOGOPTIONS; >+#endif 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] fix My mistake. Updated patch.