| Index: remoting/base/dispatch_win.h
|
| diff --git a/remoting/base/dispatch_win.h b/remoting/base/dispatch_win.h
|
| index aa207106d5884ed6a9fcb485cfed8a90a588f5e0..d9dbbc302afca8fb61ca9ebdcb4efc31cdd537a3 100644
|
| --- a/remoting/base/dispatch_win.h
|
| +++ b/remoting/base/dispatch_win.h
|
| @@ -136,6 +136,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { NULL, NULL, 0, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -177,6 +184,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 1, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -224,6 +238,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 2, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -276,6 +297,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 3, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -333,6 +361,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 4, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -395,6 +430,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 5, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -463,6 +505,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 6, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
| @@ -536,6 +585,13 @@ HRESULT Invoke(IDispatch* object,
|
|
|
| // Invoke the method.
|
| DISPPARAMS disp_params = { disp_args, NULL, 7, 0 };
|
| + // DISPATCH_PROPERTYPUT and DISPATCH_PROPERTYPUTREF require special handling.
|
| + 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))
|
|
|