Jacek Caban : mshtml: Pass EventTarget to attach_event.

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 15 08:38:42 CDT 2015


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu May 14 13:25:31 2015 +0200

mshtml: Pass EventTarget to attach_event.

---

 dlls/mshtml/htmldoc.c    |  2 +-
 dlls/mshtml/htmlelem.c   |  2 +-
 dlls/mshtml/htmlevent.c  | 20 ++++++++++----------
 dlls/mshtml/htmlevent.h  |  2 +-
 dlls/mshtml/htmlwindow.c |  2 +-
 5 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 0316be2..2b30c67 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -2032,7 +2032,7 @@ static HRESULT WINAPI HTMLDocument3_attachEvent(IHTMLDocument3 *iface, BSTR even
 
     TRACE("(%p)->(%s %p %p)\n", This, debugstr_w(event), pDisp, pfResult);
 
-    return attach_event(&This->doc_node->node.event_target.ptr, This, event, pDisp, pfResult);
+    return attach_event(&This->doc_node->node.event_target, This, event, pDisp, pfResult);
 }
 
 static HRESULT WINAPI HTMLDocument3_detachEvent(IHTMLDocument3 *iface, BSTR event,
diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c
index 77ccc52..8777e45 100644
--- a/dlls/mshtml/htmlelem.c
+++ b/dlls/mshtml/htmlelem.c
@@ -2566,7 +2566,7 @@ static HRESULT WINAPI HTMLElement2_attachEvent(IHTMLElement2 *iface, BSTR event,
 
     TRACE("(%p)->(%s %p %p)\n", This, debugstr_w(event), pDisp, pfResult);
 
-    return attach_event(get_node_event_target(&This->node), &This->node.doc->basedoc, event, pDisp, pfResult);
+    return attach_event(&This->node.event_target, &This->node.doc->basedoc, event, pDisp, pfResult);
 }
 
 static HRESULT WINAPI HTMLElement2_detachEvent(IHTMLElement2 *iface, BSTR event, IDispatch *pDisp)
diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index fe22b36..527bed2 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -1484,10 +1484,10 @@ HRESULT get_event_handler(EventTarget *event_target, eventid_t eid, VARIANT *var
     return S_OK;
 }
 
-HRESULT attach_event(event_target_t **event_target_ptr, HTMLDocument *doc, BSTR name,
+HRESULT attach_event(EventTarget *event_target, HTMLDocument *doc, BSTR name,
         IDispatch *disp, VARIANT_BOOL *res)
 {
-    event_target_t *event_target;
+    event_target_t *data;
     eventid_t eid;
     DWORD i = 0;
 
@@ -1498,24 +1498,24 @@ HRESULT attach_event(event_target_t **event_target_ptr, HTMLDocument *doc, BSTR
         return S_OK;
     }
 
-    event_target = get_event_target(event_target_ptr);
-    if(!event_target)
+    data = get_event_target_data(event_target, TRUE);
+    if(!data)
         return E_OUTOFMEMORY;
 
-    if(event_target->event_table[eid]) {
-        while(i < event_target->event_table[eid]->handler_cnt && event_target->event_table[eid]->handlers[i])
+    if(data->event_table[eid]) {
+        while(i < data->event_table[eid]->handler_cnt && data->event_table[eid]->handlers[i])
             i++;
-        if(i == event_target->event_table[eid]->handler_cnt && !alloc_handler_vector(event_target, eid, i+1))
+        if(i == data->event_table[eid]->handler_cnt && !alloc_handler_vector(data, eid, i+1))
             return E_OUTOFMEMORY;
-    }else if(!alloc_handler_vector(event_target, eid, i+1)) {
+    }else if(!alloc_handler_vector(data, eid, i+1)) {
         return E_OUTOFMEMORY;
     }
 
     IDispatch_AddRef(disp);
-    event_target->event_table[eid]->handlers[i] = disp;
+    data->event_table[eid]->handlers[i] = disp;
 
     *res = VARIANT_TRUE;
-    return ensure_nsevent_handler(doc->doc_node, event_target, eid);
+    return ensure_nsevent_handler(doc->doc_node, data, eid);
 }
 
 HRESULT detach_event(event_target_t *event_target, HTMLDocument *doc, BSTR name, IDispatch *disp)
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index 1ca1cf7..e3a4e7f 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -56,7 +56,7 @@ void release_event_target(event_target_t*) DECLSPEC_HIDDEN;
 void fire_event(HTMLDocumentNode*,eventid_t,BOOL,nsIDOMNode*,nsIDOMEvent*,IDispatch*) DECLSPEC_HIDDEN;
 HRESULT set_event_handler(EventTarget*,HTMLDocumentNode*,eventid_t,VARIANT*) DECLSPEC_HIDDEN;
 HRESULT get_event_handler(EventTarget*,eventid_t,VARIANT*) DECLSPEC_HIDDEN;
-HRESULT attach_event(event_target_t**,HTMLDocument*,BSTR,IDispatch*,VARIANT_BOOL*) DECLSPEC_HIDDEN;
+HRESULT attach_event(EventTarget*,HTMLDocument*,BSTR,IDispatch*,VARIANT_BOOL*) DECLSPEC_HIDDEN;
 HRESULT detach_event(event_target_t*,HTMLDocument*,BSTR,IDispatch*) DECLSPEC_HIDDEN;
 HRESULT dispatch_event(HTMLDOMNode*,const WCHAR*,VARIANT*,VARIANT_BOOL*) DECLSPEC_HIDDEN;
 HRESULT call_fire_event(HTMLDOMNode*,eventid_t) DECLSPEC_HIDDEN;
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index f31fb83..b98d618 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -1654,7 +1654,7 @@ static HRESULT WINAPI HTMLWindow3_attachEvent(IHTMLWindow3 *iface, BSTR event, I
         return E_FAIL;
     }
 
-    return attach_event(&window->doc->body_event_target, &window->doc->basedoc, event, pDisp, pfResult);
+    return attach_event(&window->event_target, &window->doc->basedoc, event, pDisp, pfResult);
 }
 
 static HRESULT WINAPI HTMLWindow3_detachEvent(IHTMLWindow3 *iface, BSTR event, IDispatch *pDisp)




More information about the wine-cvs mailing list