Module: wine Branch: master Commit: d0b4717cdb156f237c52624be33412bcb9f6a7d7 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=d0b4717cdb156f237c52624b... Author: Robert Shearman <rob(a)codeweavers.com> Date: Thu Aug 31 17:18:36 2006 +0100 ole32: Do a QueryInterface for IOleLink in OleLoad, like native does. --- dlls/ole32/ole2.c | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 deletions(-) diff --git a/dlls/ole32/ole2.c b/dlls/ole32/ole2.c index 8f0629c..c6df7ed 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);