Andrew Eikum : mshtml: Handle DISPATCH_CONSTRUCT flag for DispatchEx objects.

Alexandre Julliard julliard at winehq.org
Thu Oct 22 10:39:58 CDT 2009


Module: wine
Branch: master
Commit: 753aa4ca98cf9d71da3268324b8a6b5fd7efc104
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=753aa4ca98cf9d71da3268324b8a6b5fd7efc104

Author: Andrew Eikum <aeikum at codeweavers.com>
Date:   Wed Oct 21 16:25:14 2009 -0500

mshtml: Handle DISPATCH_CONSTRUCT flag for DispatchEx objects.

---

 dlls/mshtml/dispex.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index 34865c2..d1c9e30 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -804,8 +804,16 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
         return This->data->vtbl->invoke(This->outer, id, lcid, wFlags, pdp, pvarRes, pei, pspCaller);
 
     if(wFlags == DISPATCH_CONSTRUCT) {
-        FIXME("DISPATCH_CONSTRUCT not implemented\n");
-        return E_NOTIMPL;
+        if(id == DISPID_VALUE) {
+            if(This->data->vtbl && This->data->vtbl->value) {
+                return This->data->vtbl->value(This->outer, lcid, wFlags, pdp,
+                        pvarRes, pei, pspCaller);
+            }
+            FIXME("DISPATCH_CONSTRUCT flag but missing value function\n");
+            return E_FAIL;
+        }
+        FIXME("DISPATCH_CONSTRUCT flag without DISPID_VALUE\n");
+        return E_FAIL;
     }
 
     if(is_dynamic_dispid(id)) {




More information about the wine-cvs mailing list