Initialize COM prior to displaying the file dialog.
This commit is contained in:
parent
5c63332b4f
commit
6eb0c35344
|
@ -5,6 +5,7 @@ VPATH = @srcdir@
|
|||
MODULE = comdlg32.dll
|
||||
IMPORTLIB = libcomdlg32.$(IMPLIBEXT)
|
||||
IMPORTS = shell32 shlwapi comctl32 winspool user32 gdi32 advapi32 kernel32 ntdll
|
||||
DELAYIMPORTS = ole32
|
||||
EXTRALIBS = -luuid
|
||||
|
||||
C_SRCS = \
|
||||
|
|
|
@ -250,6 +250,7 @@ static BOOL WINAPI GetFileName95(FileOpenDlgInfos *fodInfos)
|
|||
LPCVOID template;
|
||||
HRSRC hRes;
|
||||
HANDLE hDlgTmpl = 0;
|
||||
HRESULT hr;
|
||||
|
||||
/* test for missing functionality */
|
||||
if (fodInfos->ofnInfos->Flags & UNIMPLEMENTED_FLAGS)
|
||||
|
@ -281,11 +282,16 @@ static BOOL WINAPI GetFileName95(FileOpenDlgInfos *fodInfos)
|
|||
fodInfos->HookMsg.sharevistring = RegisterWindowMessageA(SHAREVISTRINGA);
|
||||
}
|
||||
|
||||
/* Some shell namespace extensions depend on COM being initialized. */
|
||||
hr = CoInitialize(NULL);
|
||||
|
||||
lRes = DialogBoxIndirectParamA(COMDLG32_hInstance,
|
||||
(LPDLGTEMPLATEA) template,
|
||||
fodInfos->ofnInfos->hwndOwner,
|
||||
FileOpenDlgProc95,
|
||||
(LPARAM) fodInfos);
|
||||
if (SUCCEEDED(hr))
|
||||
CoUninitialize();
|
||||
|
||||
/* Unable to create the dialog */
|
||||
if( lRes == -1)
|
||||
|
|
Loading…
Reference in New Issue