Aric Stewart : shlwapi: DISPPARAMS on Invoke are never NULL.
Alexandre Julliard
julliard at winehq.org
Fri Dec 11 11:04:44 CST 2009
Module: wine
Branch: master
Commit: ec2a78c30a8e91fae0ba49f0066f8cde526033be
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ec2a78c30a8e91fae0ba49f0066f8cde526033be
Author: Aric Stewart <aric at codeweavers.com>
Date: Thu Dec 10 13:16:14 2009 -0600
shlwapi: DISPPARAMS on Invoke are never NULL.
---
dlls/shlwapi/ordinal.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c
index 0b9999e..6b0a9bc 100644
--- a/dlls/shlwapi/ordinal.c
+++ b/dlls/shlwapi/ordinal.c
@@ -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);
}
}
More information about the wine-cvs
mailing list