From d0b4717cdb156f237c52624be33412bcb9f6a7d7 Mon Sep 17 00:00:00 2001 From: Robert Shearman Date: Thu, 31 Aug 2006 17:18:36 +0100 Subject: [PATCH] ole32: Do a QueryInterface for IOleLink in OleLoad, like native does. --- dlls/ole32/ole2.c | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c index 8f0629cb4a2..c6df7edd132 100644 --- a/dlls/ole32/ole2.c +++ b/dlls/ole32/ole2.c @@ -1007,12 +1007,13 @@ HRESULT WINAPI OleLoad( } } - /* - * Initialize the object with it's IPersistStorage interface. - */ - hres = IOleObject_QueryInterface(pUnk, - &IID_IPersistStorage, - (void**)&persistStorage); + if (SUCCEEDED(hres)) + /* + * Initialize the object with it's IPersistStorage interface. + */ + hres = IOleObject_QueryInterface(pUnk, + &IID_IPersistStorage, + (void**)&persistStorage); if (SUCCEEDED(hres)) { @@ -1034,6 +1035,18 @@ HRESULT WINAPI OleLoad( if (pOleObject) IOleObject_Release(pOleObject); + if (SUCCEEDED(hres)) + { + IOleLink *pOleLink; + HRESULT hres1; + hres1 = IUnknown_QueryInterface(pUnk, &IID_IOleLink, (void **)&pOleLink); + if (SUCCEEDED(hres1)) + { + FIXME("handle OLE link\n"); + IOleLink_Release(pOleLink); + } + } + if (FAILED(hres)) { IUnknown_Release(pUnk);