Robert Shearman : oleaut32: Implement setting of the hPal property in IPictureDisp::Invoke.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jul 28 07:15:28 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 9648b824a1fdfdc37e35e20cbcd6bb9535a3ec44
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=9648b824a1fdfdc37e35e20cbcd6bb9535a3ec44

Author: Robert Shearman <rob at 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)




More information about the wine-cvs mailing list