Jacek Caban : jscript: Added DeleteMemberByName implementation.

Alexandre Julliard julliard at winehq.org
Tue Sep 9 05:50:40 CDT 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Sep  9 01:21:14 2008 +0200

jscript: Added DeleteMemberByName implementation.

---

 dlls/jscript/dispex.c |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/dlls/jscript/dispex.c b/dlls/jscript/dispex.c
index 206a963..0d8bbe1 100644
--- a/dlls/jscript/dispex.c
+++ b/dlls/jscript/dispex.c
@@ -575,8 +575,26 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
 static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
 {
     DispatchEx *This = DISPATCHEX_THIS(iface);
-    FIXME("(%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
-    return E_NOTIMPL;
+    dispex_prop_t *prop;
+    HRESULT hres;
+
+    TRACE("(%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
+
+    if(grfdex & ~(fdexNameCaseSensitive|fdexNameEnsure|fdexNameImplicit))
+        FIXME("Unsupported grfdex %x\n", grfdex);
+
+    hres = find_prop_name(This, bstrName, &prop);
+    if(FAILED(hres))
+        return hres;
+    if(!prop) {
+        TRACE("not found\n");
+        return S_OK;
+    }
+
+    heap_free(prop->name);
+    prop->name = NULL;
+    prop->type = PROP_DELETED;
+    return S_OK;
 }
 
 static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)




More information about the wine-cvs mailing list