Jacek Caban : mshtml: Added set_event_handler(VT_NULL) implementation.

Alexandre Julliard julliard at winehq.org
Mon Oct 13 06:37:28 CDT 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Fri Oct 10 15:47:27 2008 -0500

mshtml: Added set_event_handler(VT_NULL) implementation.

---

 dlls/mshtml/htmlevent.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index f14e0e6..d6d5fa8 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -503,14 +503,22 @@ static HRESULT set_event_handler_disp(event_target_t **event_target, HTMLDocumen
 HRESULT set_event_handler(event_target_t **event_target, HTMLDocument *doc, eventid_t eid, VARIANT *var)
 {
     switch(V_VT(var)) {
+    case VT_NULL:
+        if(*event_target && (*event_target)->event_table[eid]) {
+            IDispatch_Release((*event_target)->event_table[eid]);
+            (*event_target)->event_table[eid] = NULL;
+        }
+        break;
+
     case VT_DISPATCH:
         return set_event_handler_disp(event_target, doc, eid, V_DISPATCH(var));
 
     default:
         FIXME("not supported vt=%d\n", V_VT(var));
+        return E_NOTIMPL;
     }
 
-    return E_NOTIMPL;
+    return S_OK;
 }
 
 HRESULT get_event_handler(event_target_t **event_target, eventid_t eid, VARIANT *var)




More information about the wine-cvs mailing list