Jacek Caban : mshtml: Introduce EventTarget_Init.

Alexandre Julliard julliard at winehq.org
Fri Sep 22 15:49:05 CDT 2017


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Sep 21 23:25:27 2017 +0200

mshtml: Introduce EventTarget_Init.

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

---

 dlls/mshtml/htmlevent.c      | 4 +++-
 dlls/mshtml/htmlevent.h      | 1 -
 dlls/mshtml/htmlnode.c       | 4 +---
 dlls/mshtml/htmlwindow.c     | 4 ++--
 dlls/mshtml/mshtml_private.h | 2 ++
 dlls/mshtml/xmlhttprequest.c | 5 ++---
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 40f26de..c47b71d 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -1643,8 +1643,10 @@ static int event_id_cmp(const void *key, const struct wine_rb_entry *entry)
     return (INT_PTR)key - WINE_RB_ENTRY_VALUE(entry, handler_vector_t, entry)->event_id;
 }
 
-void init_event_target(EventTarget *event_target)
+void EventTarget_Init(EventTarget *event_target, IUnknown *outer, dispex_static_data_t *dispex_data,
+                      compat_mode_t compat_mode)
 {
+    init_dispex_with_compat_mode(&event_target->dispex, outer, dispex_data, compat_mode);
     wine_rb_init(&event_target->handler_map, event_id_cmp);
 }
 
diff --git a/dlls/mshtml/htmlevent.h b/dlls/mshtml/htmlevent.h
index b88f32f3..c47f20f 100644
--- a/dlls/mshtml/htmlevent.h
+++ b/dlls/mshtml/htmlevent.h
@@ -57,7 +57,6 @@ typedef enum {
 
 eventid_t str_to_eid(LPCWSTR) DECLSPEC_HIDDEN;
 void check_event_attr(HTMLDocumentNode*,nsIDOMHTMLElement*) DECLSPEC_HIDDEN;
-void init_event_target(EventTarget*) DECLSPEC_HIDDEN;
 void release_event_target(EventTarget*) DECLSPEC_HIDDEN;
 void fire_event(HTMLDocumentNode*,eventid_t,BOOL,HTMLDOMNode*,nsIDOMEvent*,IDispatch*) DECLSPEC_HIDDEN;
 HRESULT set_event_handler(EventTarget*,eventid_t,VARIANT*) DECLSPEC_HIDDEN;
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c
index e90f4e3..730e2a8 100644
--- a/dlls/mshtml/htmlnode.c
+++ b/dlls/mshtml/htmlnode.c
@@ -1450,9 +1450,7 @@ void HTMLDOMNode_Init(HTMLDocumentNode *doc, HTMLDOMNode *node, nsIDOMNode *nsno
     node->IHTMLDOMNode3_iface.lpVtbl = &HTMLDOMNode3Vtbl;
 
     ccref_init(&node->ccref, 1);
-    init_dispex_with_compat_mode(&node->event_target.dispex, (IUnknown*)&node->IHTMLDOMNode_iface,
-                                 dispex_data, doc->document_mode);
-    init_event_target(&node->event_target);
+    EventTarget_Init(&node->event_target, (IUnknown*)&node->IHTMLDOMNode_iface, dispex_data, doc->document_mode);
 
     if(&doc->node != node)
         htmldoc_addref(&doc->basedoc);
diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index dc18f84..f61aa91 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -3078,8 +3078,8 @@ static HRESULT create_inner_window(HTMLOuterWindow *outer_window, IMoniker *mon,
     window->base.outer_window = outer_window;
     window->base.inner_window = window;
 
-    init_event_target(&window->event_target);
-    init_dispex(&window->event_target.dispex, (IUnknown*)&window->base.IHTMLWindow2_iface, &HTMLWindow_dispex);
+    EventTarget_Init(&window->event_target, (IUnknown*)&window->base.IHTMLWindow2_iface,
+                     &HTMLWindow_dispex, COMPAT_MODE_NONE);
 
     window->task_magic = get_task_target_magic();
 
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 45bf98c..5d46317 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -1040,6 +1040,8 @@ void HTMLElement_Init(HTMLElement*,HTMLDocumentNode*,nsIDOMHTMLElement*,dispex_s
 void HTMLTextContainer_Init(HTMLTextContainer*,HTMLDocumentNode*,nsIDOMHTMLElement*,dispex_static_data_t*) DECLSPEC_HIDDEN;
 void HTMLFrameBase_Init(HTMLFrameBase*,HTMLDocumentNode*,nsIDOMHTMLElement*,dispex_static_data_t*) DECLSPEC_HIDDEN;
 
+void EventTarget_Init(EventTarget*,IUnknown*,dispex_static_data_t*,compat_mode_t) DECLSPEC_HIDDEN;
+
 HRESULT HTMLDOMNode_QI(HTMLDOMNode*,REFIID,void**) DECLSPEC_HIDDEN;
 void HTMLDOMNode_destructor(HTMLDOMNode*) DECLSPEC_HIDDEN;
 void HTMLDOMNode_init_dispex_info(dispex_data_t*,compat_mode_t) DECLSPEC_HIDDEN;
diff --git a/dlls/mshtml/xmlhttprequest.c b/dlls/mshtml/xmlhttprequest.c
index 35e91fc..e257bbc 100644
--- a/dlls/mshtml/xmlhttprequest.c
+++ b/dlls/mshtml/xmlhttprequest.c
@@ -901,9 +901,8 @@ static HRESULT WINAPI HTMLXMLHttpRequestFactory_create(IHTMLXMLHttpRequestFactor
 
     ret->IHTMLXMLHttpRequest_iface.lpVtbl = &HTMLXMLHttpRequestVtbl;
     ret->IProvideClassInfo2_iface.lpVtbl = &ProvideClassInfo2Vtbl;
-    init_event_target(&ret->event_target);
-    init_dispex(&ret->event_target.dispex, (IUnknown*)&ret->IHTMLXMLHttpRequest_iface,
-            &HTMLXMLHttpRequest_dispex);
+    EventTarget_Init(&ret->event_target, (IUnknown*)&ret->IHTMLXMLHttpRequest_iface,
+                     &HTMLXMLHttpRequest_dispex, COMPAT_MODE_NONE);
     ret->ref = 1;
 
     *p = &ret->IHTMLXMLHttpRequest_iface;




More information about the wine-cvs mailing list