Module: wine Branch: master Commit: a9e77575b36bbae8116b805826f864d6384ea949 URL: http://source.winehq.org/git/wine.git/?a=commit;h=a9e77575b36bbae8116b805826...
Author: Jacek Caban jacek@codeweavers.com Date: Tue Dec 4 13:37:00 2007 +0100
mshtml: Initialize HTMLElement in the beginning of constructors.
---
dlls/mshtml/htmlanchor.c | 2 ++ dlls/mshtml/htmlbody.c | 4 ++-- dlls/mshtml/htmlelem.c | 13 +++++++++---- dlls/mshtml/htmlinput.c | 2 ++ dlls/mshtml/htmloption.c | 3 +++ dlls/mshtml/htmlselect.c | 2 ++ dlls/mshtml/htmltable.c | 2 ++ dlls/mshtml/htmltextarea.c | 2 ++ dlls/mshtml/htmltextcont.c | 2 ++ dlls/mshtml/mshtml_private.h | 1 + 10 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/dlls/mshtml/htmlanchor.c b/dlls/mshtml/htmlanchor.c index 1fe43d0..61ab6cd 100644 --- a/dlls/mshtml/htmlanchor.c +++ b/dlls/mshtml/htmlanchor.c @@ -486,6 +486,8 @@ HTMLElement *HTMLAnchorElement_Create(nsIDOMHTMLElement *nselem) { HTMLAnchorElement *ret = mshtml_alloc(sizeof(HTMLAnchorElement));
+ HTMLElement_Init(&ret->element); + ret->lpHTMLAnchorElementVtbl = &HTMLAnchorElementVtbl; ret->element.node.vtbl = &HTMLAnchorElementImplVtbl;
diff --git a/dlls/mshtml/htmlbody.c b/dlls/mshtml/htmlbody.c index b1b6c4c..4f8e093 100644 --- a/dlls/mshtml/htmlbody.c +++ b/dlls/mshtml/htmlbody.c @@ -501,11 +501,11 @@ HTMLElement *HTMLBodyElement_Create(nsIDOMHTMLElement *nselem)
TRACE("(%p)->(%p)\n", ret, nselem);
+ HTMLTextContainer_Init(&ret->textcont); + ret->lpHTMLBodyElementVtbl = &HTMLBodyElementVtbl; ret->textcont.element.node.vtbl = &HTMLBodyElementImplVtbl;
- HTMLTextContainer_Init(&ret->textcont); - ConnectionPointContainer_Init(&ret->cp_container, (IUnknown*)HTMLBODY(ret)); ConnectionPoint_Init(&ret->cp_propnotif, &ret->cp_container, &IID_IPropertyNotifySink); ConnectionPoint_Init(&ret->cp_txtcontevents, &ret->cp_container, &DIID_HTMLTextContainerEvents); diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index cbe9bfd..bf0ba33 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -1280,6 +1280,14 @@ static const NodeImplVtbl HTMLElementImplVtbl = { HTMLElement_destructor };
+void HTMLElement_Init(HTMLElement *This) +{ + This->node.vtbl = &HTMLElementImplVtbl; + This->lpHTMLElementVtbl = &HTMLElementVtbl; + + HTMLElement2_Init(This); +} + HTMLElement *HTMLElement_Create(nsIDOMNode *nsnode) { nsIDOMHTMLElement *nselem; @@ -1322,16 +1330,13 @@ HTMLElement *HTMLElement_Create(nsIDOMNode *nsnode)
if(!ret) { ret = mshtml_alloc(sizeof(HTMLElement)); - ret->node.vtbl = &HTMLElementImplVtbl; + HTMLElement_Init(ret); }
nsAString_Finish(&class_name_str);
- ret->lpHTMLElementVtbl = &HTMLElementVtbl; ret->nselem = nselem;
- HTMLElement2_Init(ret); - return ret; }
diff --git a/dlls/mshtml/htmlinput.c b/dlls/mshtml/htmlinput.c index 5fc5dd3..7f6c8c6 100644 --- a/dlls/mshtml/htmlinput.c +++ b/dlls/mshtml/htmlinput.c @@ -1062,6 +1062,8 @@ HTMLElement *HTMLInputElement_Create(nsIDOMHTMLElement *nselem) HTMLInputElement *ret = mshtml_alloc(sizeof(HTMLInputElement)); nsresult nsres;
+ HTMLElement_Init(&ret->element); + ret->lpHTMLInputElementVtbl = &HTMLInputElementVtbl; ret->element.node.vtbl = &HTMLInputElementImplVtbl;
diff --git a/dlls/mshtml/htmloption.c b/dlls/mshtml/htmloption.c index f800fed..579725e 100644 --- a/dlls/mshtml/htmloption.c +++ b/dlls/mshtml/htmloption.c @@ -340,6 +340,8 @@ HTMLElement *HTMLOptionElement_Create(nsIDOMHTMLElement *nselem) HTMLOptionElement *ret = mshtml_alloc(sizeof(HTMLOptionElement)); nsresult nsres;
+ HTMLElement_Init(&ret->element); + ret->lpHTMLOptionElementVtbl = &HTMLOptionElementVtbl; ret->element.node.vtbl = &HTMLOptionElementImplVtbl;
@@ -511,6 +513,7 @@ HTMLOptionElementFactory *HTMLOptionElementFactory_Create(HTMLDocument *doc) HTMLOptionElementFactory *ret;
ret = mshtml_alloc(sizeof(HTMLOptionElementFactory)); + ret->lpHTMLOptionElementFactoryVtbl = &HTMLOptionElementFactoryVtbl; ret->ref = 1; ret->doc = doc; diff --git a/dlls/mshtml/htmlselect.c b/dlls/mshtml/htmlselect.c index d1ae86d..6395bc3 100644 --- a/dlls/mshtml/htmlselect.c +++ b/dlls/mshtml/htmlselect.c @@ -429,6 +429,8 @@ HTMLElement *HTMLSelectElement_Create(nsIDOMHTMLElement *nselem) HTMLSelectElement *ret = mshtml_alloc(sizeof(HTMLSelectElement)); nsresult nsres;
+ HTMLElement_Init(&ret->element); + ret->lpHTMLSelectElementVtbl = &HTMLSelectElementVtbl; ret->element.node.vtbl = &HTMLSelectElementImplVtbl;
diff --git a/dlls/mshtml/htmltable.c b/dlls/mshtml/htmltable.c index 373ffac..d0b0a28 100644 --- a/dlls/mshtml/htmltable.c +++ b/dlls/mshtml/htmltable.c @@ -550,6 +550,8 @@ HTMLElement *HTMLTable_Create(nsIDOMHTMLElement *nselem) { HTMLTable *ret = mshtml_alloc(sizeof(HTMLTable));
+ HTMLElement_Init(&ret->element); + ret->element.node.vtbl = &HTMLTableImplVtbl; ret->lpHTMLTableVtbl = &HTMLTableVtbl;
diff --git a/dlls/mshtml/htmltextarea.c b/dlls/mshtml/htmltextarea.c index c5d8287..fbb7df8 100644 --- a/dlls/mshtml/htmltextarea.c +++ b/dlls/mshtml/htmltextarea.c @@ -409,6 +409,8 @@ HTMLElement *HTMLTextAreaElement_Create(nsIDOMHTMLElement *nselem) HTMLTextAreaElement *ret = mshtml_alloc(sizeof(HTMLTextAreaElement)); nsresult nsres;
+ HTMLElement_Init(&ret->element); + ret->lpHTMLTextAreaElementVtbl = &HTMLTextAreaElementVtbl; ret->element.node.vtbl = &HTMLTextAreaElementImplVtbl;
diff --git a/dlls/mshtml/htmltextcont.c b/dlls/mshtml/htmltextcont.c index 07c0081..8076646 100644 --- a/dlls/mshtml/htmltextcont.c +++ b/dlls/mshtml/htmltextcont.c @@ -213,5 +213,7 @@ static const IHTMLTextContainerVtbl HTMLTextContainerVtbl = {
void HTMLTextContainer_Init(HTMLTextContainer *This) { + HTMLElement_Init(&This->element); + This->lpHTMLTextContainerVtbl = &HTMLTextContainerVtbl; } diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index b284d86..198486f 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -445,6 +445,7 @@ HTMLElement *HTMLSelectElement_Create(nsIDOMHTMLElement*); HTMLElement *HTMLTable_Create(nsIDOMHTMLElement*); HTMLElement *HTMLTextAreaElement_Create(nsIDOMHTMLElement*);
+void HTMLElement_Init(HTMLElement*); void HTMLElement2_Init(HTMLElement*); void HTMLTextContainer_Init(HTMLTextContainer*);