From 1d3c7baaddc652049995ffc1fbb41e3950dcd8dc Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Sun, 27 Mar 2016 12:30:00 +0800 Subject: oleaut32: Do not reimplement OleLoadPicture in OleLoadPicturePath. punkCaller is ignored by StdPicture ClassFactory implementation anyway. --- dlls/oleaut32/olepicture.c | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c index 44157de..285afba 100644 --- a/dlls/oleaut32/olepicture.c +++ b/dlls/oleaut32/olepicture.c @@ -2332,16 +2332,13 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller, LPVOID *ppvRet ) { static const WCHAR file[] = { 'f','i','l','e',':',0 }; - IPicture *ipicture; HANDLE hFile; DWORD dwFileSize; HGLOBAL hGlobal = NULL; DWORD dwBytesRead; IStream *stream; BOOL bRead; - IPersistStream *pStream; HRESULT hRes; - HRESULT init_res; WCHAR *file_candidate; WCHAR path_buf[MAX_PATH]; @@ -2418,32 +2415,10 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller, return hRes; } - init_res = CoInitialize(NULL); - - hRes = CoCreateInstance(&CLSID_StdPicture, punkCaller, CLSCTX_INPROC_SERVER, - &IID_IPicture, (LPVOID*)&ipicture); - if (SUCCEEDED(hRes)) { - hRes = IPicture_QueryInterface(ipicture, &IID_IPersistStream, (LPVOID*)&pStream); - - if (SUCCEEDED(hRes)) { - hRes = IPersistStream_Load(pStream, stream); - - if (SUCCEEDED(hRes)) { - hRes = IPicture_QueryInterface(ipicture, riid, ppvRet); - - if (FAILED(hRes)) - ERR("Failed to get interface %s from IPicture.\n", debugstr_guid(riid)); - } - IPersistStream_Release(pStream); - } - IPicture_Release(ipicture); - } + hRes = OleLoadPicture(stream, 0, FALSE, riid, ppvRet); IStream_Release(stream); - if (SUCCEEDED(init_res)) - CoUninitialize(); - return hRes; } -- 2.7.1