diff options
Diffstat (limited to 'src/winextras/qwinjumplist.cpp')
-rw-r--r-- | src/winextras/qwinjumplist.cpp | 20 |
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; } |