| Index: remoting/base/dispatch_win.h.pump
|
| diff --git a/remoting/base/dispatch_win.h.pump b/remoting/base/dispatch_win.h.pump
|
| index 57439e531d76b68de5120b32ab3f2b8c06ec8d5b..c6a6d5a411affbdb7d87f0f7a087fb80ee637be9 100644
|
| --- a/remoting/base/dispatch_win.h.pump
|
| +++ b/remoting/base/dispatch_win.h.pump
|
| @@ -162,7 +162,10 @@ $for ARG [[
|
| ]]
|
|
|
|
|
| - // Invoke the method.
|
| + // Invoke the method passing the parameters via the DISPPARAMS structure.
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require the parameter of
|
| + // the property setter to be named, so |cNamedArgs| and |rgdispidNamedArgs|
|
| + // structure members should be initialized.
|
|
|
| $if ARITY > 0 [[
|
| DISPPARAMS disp_params = { disp_args, NULL, $(ARITY), 0 };
|
| @@ -170,6 +173,12 @@ $if ARITY > 0 [[
|
| DISPPARAMS disp_params = { NULL, NULL, 0, 0 };
|
| ]]
|
|
|
| + DISPID dispid_named = DISPID_PROPERTYPUT;
|
| + if (flags == DISPATCH_PROPERTYPUT || flags == DISPATCH_PROPERTYPUTREF) {
|
| + disp_params.cNamedArgs = 1;
|
| + disp_params.rgdispidNamedArgs = &dispid_named;
|
| + }
|
| +
|
| hr = object->Invoke(disp_id, IID_NULL, LOCALE_USER_DEFAULT, flags,
|
| &disp_params, disp_result, NULL, NULL);
|
| if (FAILED(hr))
|
|
|