Jacek Caban : mshtml: Get rid of get_node_event_target.

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


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

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

mshtml: Get rid of get_node_event_target.

---

 dlls/mshtml/htmlevent.c | 37 +++++++++++++++----------------------
 dlls/mshtml/htmlevent.h |  7 -------
 2 files changed, 15 insertions(+), 29 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 3713389..6468b38 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -883,6 +883,19 @@ HRESULT create_event_obj(IHTMLEventObj **ret)
     return S_OK;
 }
 
+static inline event_target_t *get_event_target_data(EventTarget *event_target, BOOL alloc)
+{
+    event_target_t **ptr;
+
+    ptr = event_target->dispex.data->vtbl && event_target->dispex.data->vtbl->get_event_target_ptr
+        ? event_target->dispex.data->vtbl->get_event_target_ptr(&event_target->dispex)
+        : &event_target->ptr;
+    if(*ptr || !alloc)
+        return *ptr;
+
+    return *ptr = heap_alloc_zero(sizeof(event_target_t));
+}
+
 static HRESULT call_disp_func(IDispatch *disp, DISPPARAMS *dp, VARIANT *retv)
 {
     IDispatchEx *dispex;
@@ -1107,7 +1120,7 @@ static void fire_event_obj(HTMLDocumentNode *doc, eventid_t eid, HTMLEventObj *e
         do {
             hres = get_node(doc, nsnode, FALSE, &node);
             if(SUCCEEDED(hres) && node) {
-                call_event_handlers(doc, event_obj, *get_node_event_target(node),
+                call_event_handlers(doc, event_obj, get_event_target_data(&node->event_target, FALSE),
                         node->cp_container, eid, script_this ? script_this : (IDispatch*)&node->IHTMLDOMNode_iface);
                 node_release(node);
             }
@@ -1136,7 +1149,7 @@ static void fire_event_obj(HTMLDocumentNode *doc, eventid_t eid, HTMLEventObj *e
             if(NS_SUCCEEDED(nsres) && nsbody) {
                 hres = get_node(doc, (nsIDOMNode*)nsbody, FALSE, &node);
                 if(SUCCEEDED(hres) && node) {
-                    call_event_handlers(doc, event_obj, *get_node_event_target(node),
+                    call_event_handlers(doc, event_obj, get_event_target_data(&node->event_target, FALSE),
                             node->cp_container, eid, script_this ? script_this : (IDispatch*)&node->IHTMLDOMNode_iface);
                     node_release(node);
                 }
@@ -1301,26 +1314,6 @@ HRESULT call_fire_event(HTMLDOMNode *node, eventid_t eid)
     return S_OK;
 }
 
-static inline event_target_t *get_event_target(event_target_t **event_target_ptr)
-{
-    if(!*event_target_ptr)
-        *event_target_ptr = heap_alloc_zero(sizeof(event_target_t));
-    return *event_target_ptr;
-}
-
-static inline event_target_t *get_event_target_data(EventTarget *event_target, BOOL alloc)
-{
-    event_target_t **ptr;
-
-    ptr = event_target->dispex.data->vtbl && event_target->dispex.data->vtbl->get_event_target_ptr
-        ? event_target->dispex.data->vtbl->get_event_target_ptr(&event_target->dispex)
-        : &event_target->ptr;
-    if(*ptr || !alloc)
-        return *ptr;
-
-    return *ptr = heap_alloc_zero(sizeof(event_target_t));
-}
-
 static BOOL alloc_handler_vector(event_target_t *event_target, eventid_t eid, int cnt)
 {
     handler_vector_t *new_vector, *handler_vector = event_target->event_table[eid];
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index 85f056c..6133737 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -71,13 +71,6 @@ void release_nsevents(HTMLDocumentNode*) DECLSPEC_HIDDEN;
 void add_nsevent_listener(HTMLDocumentNode*,nsIDOMNode*,LPCWSTR) DECLSPEC_HIDDEN;
 void detach_nsevent(HTMLDocumentNode*,const WCHAR*) DECLSPEC_HIDDEN;
 
-static inline event_target_t **get_node_event_target(HTMLDOMNode *node)
-{
-    return node->event_target.dispex.data->vtbl->get_event_target_ptr
-        ? node->event_target.dispex.data->vtbl->get_event_target_ptr(&node->event_target.dispex)
-        : &node->event_target.ptr;
-}
-
 static inline HRESULT set_node_event(HTMLDOMNode *node, eventid_t eid, VARIANT *var)
 {
     return set_event_handler(&node->event_target, node->doc, eid, var);




More information about the wine-cvs mailing list