shdocvw: Fix module ref counting.

oldstable
Jacek Caban 2007-02-20 17:13:27 +01:00 committed by Alexandre Julliard
parent d7e88ff996
commit 0197c2c292
2 changed files with 6 additions and 2 deletions

View File

@ -54,6 +54,7 @@ static HRESULT WINAPI WBCF_QueryInterface(LPCLASSFACTORY iface,
if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IClassFactory, riid)) {
*ppobj = iface;
IClassFactory_AddRef(iface);
return S_OK;
}

View File

@ -37,9 +37,10 @@ static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFII
*ppv = iface;
}
if(*ppv)
if(*ppv) {
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
WARN("(%s %p)\n", debugstr_guid(riid), ppv);
return E_NOINTERFACE;
@ -47,11 +48,13 @@ static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFII
static ULONG WINAPI UrlHistoryStg_AddRef(IUrlHistoryStg2 *iface)
{
SHDOCVW_LockModule();
return 2;
}
static ULONG WINAPI UrlHistoryStg_Release(IUrlHistoryStg2 *iface)
{
SHDOCVW_UnlockModule();
return 1;
}