shlwapi: DISPPARAMS on Invoke are never NULL.

This commit is contained in:
Aric Stewart 2009-12-10 13:16:14 -06:00 committed by Alexandre Julliard
parent 3dbc0b0667
commit ec2a78c30a
1 changed files with 7 additions and 1 deletions

View File

@ -2930,18 +2930,24 @@ static HRESULT SHLWAPI_InvokeByIID(
{
IEnumConnections *enumerator;
CONNECTDATA rgcd;
static DISPPARAMS empty = {NULL, NULL, 0, 0};
DISPPARAMS* params = dispParams;
HRESULT result = IConnectionPoint_EnumConnections(iCP, &enumerator);
if (FAILED(result))
return result;
/* Invoke is never happening with an NULL dispParams */
if (!params)
params = ∅
while(IEnumConnections_Next(enumerator, 1, &rgcd, NULL)==S_OK)
{
IDispatch *dispIface;
if ((iid && SUCCEEDED(IUnknown_QueryInterface(rgcd.pUnk, iid, (LPVOID*)&dispIface))) ||
SUCCEEDED(IUnknown_QueryInterface(rgcd.pUnk, &IID_IDispatch, (LPVOID*)&dispIface)))
{
IDispatch_Invoke(dispIface, dispId, &IID_NULL, 0, DISPATCH_METHOD, dispParams, NULL, NULL, NULL);
IDispatch_Invoke(dispIface, dispId, &IID_NULL, 0, DISPATCH_METHOD, params, NULL, NULL, NULL);
IDispatch_Release(dispIface);
}
}