aboutsummaryrefslogtreecommitdiff
path: root/contrib/depends/patches/qt/pidlist_absolute.patch
diff options
context:
space:
mode:
authorTheCharlatan <seb.kung@gmail.com>2018-03-18 23:01:56 +0100
committerTheCharlatan <seb.kung@gmail.com>2018-09-10 22:03:42 +0200
commit0806a23a6e07834934fb2614bf27ee5d70bf2e2d (patch)
treed7ff9d1f2d892b63822018f711b2c22018303db9 /contrib/depends/patches/qt/pidlist_absolute.patch
parentMerge pull request #4290 (diff)
downloadmonero-0806a23a6e07834934fb2614bf27ee5d70bf2e2d.tar.xz
Initial depends addition
Depends cross compiles project dependencies for linux, mac and windows and multiple architectures. Depends is original work by Cory Fields and used in bitcoin and a wide range of bitcoin related projects.
Diffstat (limited to 'contrib/depends/patches/qt/pidlist_absolute.patch')
-rw-r--r--contrib/depends/patches/qt/pidlist_absolute.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/depends/patches/qt/pidlist_absolute.patch b/contrib/depends/patches/qt/pidlist_absolute.patch
new file mode 100644
index 000000000..c79282417
--- /dev/null
+++ b/contrib/depends/patches/qt/pidlist_absolute.patch
@@ -0,0 +1,37 @@
+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()));