|
|
|
diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
|
|
|
|
--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h
|
|
|
|
+++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h
|
|
|
|
@@ -136,10 +136,18 @@
|
|
|
|
inline void init();
|
|
|
|
|
|
|
|
typedef HRESULT (WINAPI *SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, const GUID&, void **);
|
|
|
|
+#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3)
|
|
|
|
+ typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, ITEMIDLIST **);
|
|
|
|
+#else
|
|
|
|
typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, PIDLIST_ABSOLUTE *);
|
|
|
|
+#endif
|
|
|
|
typedef HRESULT (WINAPI *SHGetStockIconInfo)(int , int , _SHSTOCKICONINFO *);
|
|
|
|
typedef HRESULT (WINAPI *SHGetImageList)(int, REFIID , void **);
|
|
|
|
+#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3)
|
|
|
|
+ typedef HRESULT (WINAPI *SHCreateItemFromIDList)(const ITEMIDLIST *, REFIID, void **);
|
|
|
|
+#else
|
|
|
|
typedef HRESULT (WINAPI *SHCreateItemFromIDList)(PCIDLIST_ABSOLUTE, REFIID, void **);
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
SHCreateItemFromParsingName sHCreateItemFromParsingName;
|
|
|
|
SHGetKnownFolderIDList sHGetKnownFolderIDList;
|
|
|
|
diff -dur old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
|
|
|
|
--- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
|
|
|
|
+++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp
|
|
|
|
@@ -1016,7 +1016,11 @@
|
|
|
|
qWarning() << __FUNCTION__ << ": Invalid CLSID: " << url.path();
|
|
|
|
return Q_NULLPTR;
|
|
|
|
}
|
|
|
|
+#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3)
|
|
|
|
+ ITEMIDLIST *idList;
|
|
|
|
+#else
|
|
|
|
PIDLIST_ABSOLUTE idList;
|
|
|
|
+#endif
|
|
|
|
HRESULT hr = QWindowsContext::shell32dll.sHGetKnownFolderIDList(uuid, 0, 0, &idList);
|
|
|
|
if (FAILED(hr)) {
|
|
|
|
qErrnoWarning("%s: SHGetKnownFolderIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString()));
|