ole32: Return IUnknown from GITCF_CreateInstance if requested.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
oldstable
Alex Henrie 2018-07-10 11:45:46 +02:00 committed by Alexandre Julliard
parent ef64f27632
commit 6187e8db0b
1 changed files with 9 additions and 7 deletions

View File

@ -122,9 +122,14 @@ StdGlobalInterfaceTable_QueryInterface(IGlobalInterfaceTable* iface,
/* Do we implement that interface? */
if (IsEqualIID(&IID_IUnknown, riid) ||
IsEqualIID(&IID_IGlobalInterfaceTable, riid))
{
*ppvObject = iface;
}
else
{
FIXME("(%s), not supported.\n", debugstr_guid(riid));
return E_NOINTERFACE;
}
/* Now inc the refcount */
IGlobalInterfaceTable_AddRef(iface);
@ -314,13 +319,10 @@ static HRESULT WINAPI
GITCF_CreateInstance(LPCLASSFACTORY iface, LPUNKNOWN pUnk,
REFIID riid, LPVOID *ppv)
{
if (IsEqualIID(riid,&IID_IGlobalInterfaceTable)) {
IGlobalInterfaceTable *git = get_std_git();
return IGlobalInterfaceTable_QueryInterface(git, riid, ppv);
}
FIXME("(%s), not supported.\n",debugstr_guid(riid));
return E_NOINTERFACE;
IGlobalInterfaceTable *git = get_std_git();
HRESULT hr = IGlobalInterfaceTable_QueryInterface(git, riid, ppv);
IGlobalInterfaceTable_Release(git);
return hr;
}
static HRESULT WINAPI GITCF_LockServer(LPCLASSFACTORY iface, BOOL fLock)