Jacek Caban : mshtml: Pass listener type as a string to remove_event_listener.

Alexandre Julliard julliard at winehq.org
Thu Nov 30 14:19:35 CST 2017


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Nov 30 16:11:09 2017 +0100

mshtml: Pass listener type as a string to remove_event_listener.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmlevent.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index e0ee269..a046491 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -271,12 +271,12 @@ static listener_container_t *get_listener_container(EventTarget *event_target, c
     return container;
 }
 
-static void remove_event_listener(EventTarget *event_target, eventid_t eid, listener_type_t type, IDispatch *function)
+static void remove_event_listener(EventTarget *event_target, const WCHAR *type_name, listener_type_t type, IDispatch *function)
 {
     listener_container_t *container;
     event_listener_t *listener;
 
-    container = get_listener_container(event_target, event_info[eid].name, FALSE);
+    container = get_listener_container(event_target, type_name, FALSE);
     if(!container)
         return;
 
@@ -1918,7 +1918,7 @@ HRESULT detach_event(EventTarget *event_target, BSTR name, IDispatch *disp)
         return S_OK;
     }
 
-    remove_event_listener(event_target, eid, LISTENER_TYPE_ATTACHED, disp);
+    remove_event_listener(event_target, event_info[eid].name, LISTENER_TYPE_ATTACHED, disp);
     return S_OK;
 }
 
@@ -2136,17 +2136,10 @@ static HRESULT WINAPI EventTarget_removeEventListener(IEventTarget *iface, BSTR
                                                       IDispatch *listener, VARIANT_BOOL capture)
 {
     EventTarget *This = impl_from_IEventTarget(iface);
-    eventid_t eid;
 
     TRACE("(%p)->(%s %p %x)\n", This, debugstr_w(type), listener, capture);
 
-    eid = str_to_eid(type);
-    if(eid == EVENTID_LAST) {
-        FIXME("Unsupported on event %s\n", debugstr_w(type));
-        return E_NOTIMPL;
-    }
-
-    remove_event_listener(This, eid, capture ? LISTENER_TYPE_CAPTURE : LISTENER_TYPE_BUBBLE, listener);
+    remove_event_listener(This, type, capture ? LISTENER_TYPE_CAPTURE : LISTENER_TYPE_BUBBLE, listener);
     return S_OK;
 }
 




More information about the wine-cvs mailing list