Ensure OLE is initialized in wxFileName::GetShortcutTarget().
If it isn't, the function doesn't risk to work. This is especially pernicious because OLE is initialized on startup in GUI applications, but not in the console ones only using wxBase, so this function can, completely unexpectedly, give different results in them. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
a395cd5d14
commit
ecc5e99b6c
1 changed files with 4 additions and 0 deletions
|
|
@ -102,6 +102,7 @@
|
|||
#include "wx/msw/private.h"
|
||||
#include <shlobj.h> // for CLSID_ShellLink
|
||||
#include "wx/msw/missing.h"
|
||||
#include "wx/msw/ole/oleutils.h"
|
||||
#endif
|
||||
|
||||
#if defined(__WXMAC__)
|
||||
|
|
@ -1661,6 +1662,9 @@ bool wxFileName::GetShortcutTarget(const wxString& shortcutPath,
|
|||
if (ext.CmpNoCase(wxT("lnk"))!=0)
|
||||
return false;
|
||||
|
||||
// Ensure OLE is initialized.
|
||||
wxOleInitializer oleInit;
|
||||
|
||||
// create a ShellLink object
|
||||
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
|
||||
IID_IShellLink, (LPVOID*) &psl);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue