Module: wine Branch: refs/heads/master Commit: 9648b824a1fdfdc37e35e20cbcd6bb9535a3ec44 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=9648b824a1fdfdc37e35e20c...
Author: Robert Shearman rob@codeweavers.com Date: Fri Jul 28 01:25:23 2006 +0100
oleaut32: Implement setting of the hPal property in IPictureDisp::Invoke.
Remove some validation code that is already handled by a more generic case at the end of the function.
---
dlls/oleaut32/olepicture.c | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-)
diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c index f937c2f..e1ab8ec 100644 --- a/dlls/oleaut32/olepicture.c +++ b/dlls/oleaut32/olepicture.c @@ -2084,11 +2084,6 @@ static HRESULT WINAPI OLEPictureImpl_Inv return DISP_E_BADPARAMCOUNT; } } - else - { - ERR("one of DISPATCH_PROPERTYGET or DISPATCH_PROPERTYPUT must be specified\n"); - return DISP_E_MEMBERNOTFOUND; - }
switch (dispIdMember) { @@ -2107,6 +2102,22 @@ static HRESULT WINAPI OLEPictureImpl_Inv V_VT(pVarResult) = VT_I4; return IPicture_get_hPal((IPicture *)&This->lpVtbl, &V_UINT(pVarResult)); } + else if (wFlags & DISPATCH_PROPERTYPUT) + { + VARIANTARG vararg; + HRESULT hr; + TRACE("DISPID_PICT_HPAL\n"); + + VariantInit(&vararg); + hr = VariantChangeTypeEx(&vararg, &pDispParams->rgvarg[0], lcid, 0, VT_I4); + if (FAILED(hr)) + return hr; + + hr = IPicture_set_hPal((IPicture *)&This->lpVtbl, V_I4(&vararg)); + + VariantClear(&vararg); + return hr; + } break; case DISPID_PICT_TYPE: if (wFlags & DISPATCH_PROPERTYGET)