Robert Shearman : oleaut: Partially implement Invoke on the standard picture implementation.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Feb 10 08:54:55 CST 2006


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

Author: Robert Shearman <rob at codeweavers.com>
Date:   Fri Feb 10 14:51:03 2006 +0100

oleaut: Partially implement Invoke on the standard picture implementation.

---

 dlls/oleaut32/olepicture.c |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c
index 3420bdd..03de88c 100644
--- a/dlls/oleaut32/olepicture.c
+++ b/dlls/oleaut32/olepicture.c
@@ -2029,12 +2029,31 @@ static HRESULT WINAPI OLEPictureImpl_Inv
   EXCEPINFO*  pExepInfo,
   UINT*     puArgErr)
 {
-  FIXME("(dispid: %ld):Stub\n",dispIdMember);
-
-  VariantInit(pVarResult);
-  V_VT(pVarResult) = VT_BOOL;
-  V_BOOL(pVarResult) = FALSE;
-  return S_OK;
+  OLEPictureImpl *This = impl_from_IDispatch(iface);
+  if (dispIdMember == DISPID_PICT_TYPE)
+  {
+    TRACE("DISPID_PICT_TYPE\n");
+    if (wFlags & ~INVOKE_PROPERTYGET)
+        return DISP_E_PARAMNOTFOUND;
+    if (pDispParams->cArgs != 0)
+        return DISP_E_BADPARAMCOUNT;
+    if (pVarResult)
+    {
+        VariantInit(pVarResult);
+        V_VT(pVarResult) = VT_I2;
+        return OLEPictureImpl_get_Type((IPicture *)&This->lpVtbl, &V_I2(pVarResult));
+    }
+    return S_OK;
+  }
+  else
+  {
+    FIXME("(dispid: %ld):Stub\n",dispIdMember);
+
+    VariantInit(pVarResult);
+    V_VT(pVarResult) = VT_BOOL;
+    V_BOOL(pVarResult) = FALSE;
+    return S_OK;
+  }
 }
 
 




More information about the wine-cvs mailing list