aboutsummaryrefslogtreecommitdiffstats
path: root/src/winextras/qwinjumplist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/winextras/qwinjumplist.cpp')
-rw-r--r--src/winextras/qwinjumplist.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/winextras/qwinjumplist.cpp b/src/winextras/qwinjumplist.cpp
index e3f7860..2e1b8ce 100644
--- a/src/winextras/qwinjumplist.cpp
+++ b/src/winextras/qwinjumplist.cpp
@@ -38,6 +38,17 @@
**
****************************************************************************/
+#include <QtCore/QtGlobal>
+
+#ifdef Q_CC_MINGW // MinGW: Enable SHCreateItemFromParsingName()
+# if defined(_WIN32_IE) && _WIN32_IE << 0x0700 // _WIN32_IE_IE70
+# undef _WIN32_IE
+# endif
+# ifndef _WIN32_IE
+# define _WIN32_IE 0x0700
+# endif
+#endif // Q_CC_MINGW
+
#include "qwinjumplist.h"
#include "qwinjumplist_p.h"
#include "qwinjumplistitem.h"
@@ -56,6 +67,8 @@
#include "qwinfunctions_p.h"
#include "winpropkey_p.h"
+#include <shobjidl.h>
+
QT_BEGIN_NAMESPACE
/*!
@@ -387,11 +400,8 @@ IShellLinkW *QWinJumpListPrivate::toIShellLink(const QWinJumpListItem *item)
IShellItem2 *QWinJumpListPrivate::toIShellItem(const QWinJumpListItem *item)
{
IShellItem2 *shellitem = 0;
- qtShell32Dll.init();
- if (qtShell32Dll.sHCreateItemFromParsingName) {
- QScopedArrayPointer<wchar_t> buffer(qt_qstringToNullTerminated(item->filePath()));
- qtShell32Dll.sHCreateItemFromParsingName(buffer.data(), 0, qIID_IShellItem2, reinterpret_cast<void **>(&shellitem));
- }
+ QScopedArrayPointer<wchar_t> buffer(qt_qstringToNullTerminated(item->filePath()));
+ SHCreateItemFromParsingName(buffer.data(), 0, qIID_IShellItem2, reinterpret_cast<void **>(&shellitem));
return shellitem;
}