mshtml: COM cleanup for the IHTMLDOMNode iface.
authorMichael Stefaniuc <mstefani@redhat.de>
Thu, 30 Dec 2010 00:39:16 +0000 (01:39 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Thu, 30 Dec 2010 11:21:53 +0000 (12:21 +0100)
32 files changed:
dlls/mshtml/htmlanchor.c
dlls/mshtml/htmlbody.c
dlls/mshtml/htmlcomment.c
dlls/mshtml/htmldoc.c
dlls/mshtml/htmldoc3.c
dlls/mshtml/htmldoc5.c
dlls/mshtml/htmlelem.c
dlls/mshtml/htmlelemcol.c
dlls/mshtml/htmlembed.c
dlls/mshtml/htmlevent.c
dlls/mshtml/htmlform.c
dlls/mshtml/htmlframe.c
dlls/mshtml/htmlframebase.c
dlls/mshtml/htmlgeneric.c
dlls/mshtml/htmliframe.c
dlls/mshtml/htmlimg.c
dlls/mshtml/htmlinput.c
dlls/mshtml/htmlnode.c
dlls/mshtml/htmlobject.c
dlls/mshtml/htmloption.c
dlls/mshtml/htmlscript.c
dlls/mshtml/htmlselect.c
dlls/mshtml/htmlstyleelem.c
dlls/mshtml/htmltable.c
dlls/mshtml/htmltablerow.c
dlls/mshtml/htmltextarea.c
dlls/mshtml/htmltextnode.c
dlls/mshtml/mshtml_private.h
dlls/mshtml/nsembed.c
dlls/mshtml/pluginhost.c
dlls/mshtml/secmgr.c
dlls/mshtml/txtrange.c

index 79c29872e158930c52ccb20449264f5b82bd6ca8..d89514a90a433937b215fae76f3f2973e33d4fcd 100644 (file)
@@ -50,21 +50,21 @@ static HRESULT WINAPI HTMLAnchorElement_QueryInterface(IHTMLAnchorElement *iface
 {
     HTMLAnchorElement *This = impl_from_IHTMLAnchorElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLAnchorElement_AddRef(IHTMLAnchorElement *iface)
 {
     HTMLAnchorElement *This = impl_from_IHTMLAnchorElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLAnchorElement_Release(IHTMLAnchorElement *iface)
 {
     HTMLAnchorElement *This = impl_from_IHTMLAnchorElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLAnchorElement_GetTypeInfoCount(IHTMLAnchorElement *iface, UINT *pctinfo)
index 7b5ae7505c8ab1ae3d210cc820548fd2b9657bc4..ef432a3af0e4673eade454ae56a9d29fb2370fc4 100644 (file)
@@ -203,21 +203,21 @@ static HRESULT WINAPI HTMLBodyElement_QueryInterface(IHTMLBodyElement *iface,
 {
     HTMLBodyElement *This = impl_from_IHTMLBodyElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->textcont.element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->textcont.element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLBodyElement_AddRef(IHTMLBodyElement *iface)
 {
     HTMLBodyElement *This = impl_from_IHTMLBodyElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->textcont.element.node));
+    return IHTMLDOMNode_AddRef(&This->textcont.element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLBodyElement_Release(IHTMLBodyElement *iface)
 {
     HTMLBodyElement *This = impl_from_IHTMLBodyElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->textcont.element.node));
+    return IHTMLDOMNode_Release(&This->textcont.element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLBodyElement_GetTypeInfoCount(IHTMLBodyElement *iface, UINT *pctinfo)
index b04a6a256ac5e5318f230c8972b61be31155962f..0e29bd87ddaedc19ea79afcf4f79d7f4d056af9a 100644 (file)
@@ -46,21 +46,21 @@ static HRESULT WINAPI HTMLCommentElement_QueryInterface(IHTMLCommentElement *ifa
 {
     HTMLCommentElement *This = HTMLCOMMENT_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLCommentElement_AddRef(IHTMLCommentElement *iface)
 {
     HTMLCommentElement *This = HTMLCOMMENT_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLCommentElement_Release(IHTMLCommentElement *iface)
 {
     HTMLCommentElement *This = HTMLCOMMENT_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLCommentElement_GetTypeInfoCount(IHTMLCommentElement *iface, UINT *pctinfo)
index 451dae987498b65b5158aa5fcb15439e7460dced..df449723c3b5d5b7ca8c5138c744d8616728aba8 100644 (file)
@@ -172,7 +172,7 @@ static HRESULT WINAPI HTMLDocument_get_body(IHTMLDocument2 *iface, IHTMLElement
     if(FAILED(hres))
         return hres;
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)p);
+    return IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_IHTMLElement, (void**)p);
 }
 
 static HRESULT WINAPI HTMLDocument_get_activeElement(IHTMLDocument2 *iface, IHTMLElement **p)
@@ -1985,8 +1985,10 @@ static HTMLDocumentNode *alloc_doc_node(HTMLDocumentObj *doc_obj, HTMLWindow *wi
     doc->basedoc.doc_obj = doc_obj;
     doc->basedoc.window = window;
 
-    init_dispex(&doc->node.dispex, (IUnknown*)HTMLDOMNODE(&doc->node), &HTMLDocumentNode_dispex);
-    init_doc(&doc->basedoc, (IUnknown*)HTMLDOMNODE(&doc->node), DISPATCHEX(&doc->node.dispex));
+    init_dispex(&doc->node.dispex, (IUnknown*)&doc->node.IHTMLDOMNode_iface,
+            &HTMLDocumentNode_dispex);
+    init_doc(&doc->basedoc, (IUnknown*)&doc->node.IHTMLDOMNode_iface,
+            DISPATCHEX(&doc->node.dispex));
     HTMLDocumentNode_SecMgr_Init(doc);
 
     init_nsevents(doc);
index 2ba480a8601795352f6c14307bc406d7a9e489a7..53c478131392df217accb07e7cb9cfb7745dcc29 100644 (file)
@@ -133,8 +133,8 @@ static HRESULT WINAPI HTMLDocument3_createTextNode(IHTMLDocument3 *iface, BSTR t
     if(FAILED(hres))
         return hres;
 
-    *newTextNode = HTMLDOMNODE(node);
-    IHTMLDOMNode_AddRef(HTMLDOMNODE(node));
+    *newTextNode = &node->IHTMLDOMNode_iface;
+    IHTMLDOMNode_AddRef(&node->IHTMLDOMNode_iface);
     return S_OK;
 }
 
@@ -174,7 +174,7 @@ static HRESULT WINAPI HTMLDocument3_get_documentElement(IHTMLDocument3 *iface, I
     if(FAILED(hres))
         return hres;
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)p);
+    return IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_IHTMLElement, (void**)p);
 }
 
 static HRESULT WINAPI HTMLDocument3_uniqueID(IHTMLDocument3 *iface, BSTR *p)
@@ -542,7 +542,8 @@ static HRESULT WINAPI HTMLDocument3_getElementById(IHTMLDocument3 *iface, BSTR v
         nsIDOMNode_Release(nsnode);
 
         if(SUCCEEDED(hres))
-            hres = IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)pel);
+            hres = IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_IHTMLElement,
+                    (void**)pel);
     }else {
         *pel = NULL;
         hres = S_OK;
index bc310089f11ee366f51ca27588e1101c0d21e095..c266e0247f51ea4ae96411d4c00ea6c3ee5d3a97 100644 (file)
@@ -153,8 +153,8 @@ static HRESULT WINAPI HTMLDocument5_createComment(IHTMLDocument5 *iface, BSTR bs
     if(FAILED(hres))
         return hres;
 
-    *ppRetNode = HTMLDOMNODE(&elem->node);
-    IHTMLDOMNode_AddRef(HTMLDOMNODE(&elem->node));
+    *ppRetNode = &elem->node.IHTMLDOMNode_iface;
+    IHTMLDOMNode_AddRef(&elem->node.IHTMLDOMNode_iface);
     return S_OK;
 }
 
index b2fa53cfb3854a0d25aee1f91fd71dd9d81b6d75..d9cb0209126f9830693d3ab9946ea3cd1435bb3f 100644 (file)
@@ -152,21 +152,21 @@ static HRESULT WINAPI HTMLElement_QueryInterface(IHTMLElement *iface,
 {
     HTMLElement *This = impl_from_IHTMLElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLElement_AddRef(IHTMLElement *iface)
 {
     HTMLElement *This = impl_from_IHTMLElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->node));
+    return IHTMLDOMNode_AddRef(&This->node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLElement_Release(IHTMLElement *iface)
 {
     HTMLElement *This = impl_from_IHTMLElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->node));
+    return IHTMLDOMNode_Release(&This->node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLElement_GetTypeInfoCount(IHTMLElement *iface, UINT *pctinfo)
@@ -409,7 +409,7 @@ static HRESULT WINAPI HTMLElement_get_parentElement(IHTMLElement *iface, IHTMLEl
 
     TRACE("(%p)->(%p)\n", This, p);
 
-    hres = IHTMLDOMNode_get_parentNode(HTMLDOMNODE(&This->node), &node);
+    hres = IHTMLDOMNode_get_parentNode(&This->node.IHTMLDOMNode_iface, &node);
     if(FAILED(hres))
         return hres;
 
index 4807ca2853d976cbf5a85a98f8486120911f9b81..3859ae6a7c597a9d0697d6058fc9a9c300f2a847 100644 (file)
@@ -535,7 +535,7 @@ IHTMLElementCollection *create_all_collection(HTMLDOMNode *node, BOOL include_ro
     create_all_list(node->doc, node, &buf);
     elem_vector_normalize(&buf);
 
-    return HTMLElementCollection_Create((IUnknown*)HTMLDOMNODE(node), buf.buf, buf.len);
+    return HTMLElementCollection_Create((IUnknown*)&node->IHTMLDOMNode_iface, buf.buf, buf.len);
 }
 
 IHTMLElementCollection *create_collection_from_nodelist(HTMLDocumentNode *doc, IUnknown *unk, nsIDOMNodeList *nslist)
index be5f0765e3e65cb4e970d0e2ccc33755c5143999..bb067d0739a8a645466ae4426ba2259f08c0e483 100644 (file)
@@ -47,21 +47,21 @@ static HRESULT WINAPI HTMLEmbedElement_QueryInterface(IHTMLEmbedElement *iface,
 {
     HTMLEmbedElement *This = HTMLEMBED_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLEmbedElement_AddRef(IHTMLEmbedElement *iface)
 {
     HTMLEmbedElement *This = HTMLEMBED_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLEmbedElement_Release(IHTMLEmbedElement *iface)
 {
     HTMLEmbedElement *This = HTMLEMBED_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLEmbedElement_GetTypeInfoCount(IHTMLEmbedElement *iface, UINT *pctinfo)
index 86013e55436e3585223ccee1914bc1b82ba8b850..b4e19aac0367fef9d549b708ea0302bd847e912b 100644 (file)
@@ -322,7 +322,8 @@ static HRESULT WINAPI HTMLEventObj_get_srcElement(IHTMLEventObj *iface, IHTMLEle
 
     TRACE("(%p)->(%p)\n", This, p);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(This->target), &IID_IHTMLElement, (void**)p);
+    return IHTMLDOMNode_QueryInterface(&This->target->IHTMLDOMNode_iface, &IID_IHTMLElement,
+            (void**)p);
 }
 
 static HRESULT WINAPI HTMLEventObj_get_altKey(IHTMLEventObj *iface, VARIANT_BOOL *p)
@@ -772,7 +773,7 @@ static IHTMLEventObj *create_event(HTMLDOMNode *target, eventid_t eid, nsIDOMEve
     }
 
     ret->target = target;
-    IHTMLDOMNode_AddRef(HTMLDOMNODE(target));
+    IHTMLDOMNode_AddRef(&target->IHTMLDOMNode_iface);
 
     init_dispex(&ret->dispex, (IUnknown*)&ret->IHTMLEventObj_iface, &HTMLEventObj_dispex);
 
@@ -927,8 +928,8 @@ void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode
         do {
             hres = get_node(doc, nsnode, FALSE, &node);
             if(SUCCEEDED(hres) && node)
-                call_event_handlers(doc, event_obj, *get_node_event_target(node), node->cp_container, eid,
-                        (IDispatch*)HTMLDOMNODE(node));
+                call_event_handlers(doc, event_obj, *get_node_event_target(node),
+                        node->cp_container, eid, (IDispatch*)&node->IHTMLDOMNode_iface);
 
             if(!(event_info[eid].flags & EVENT_BUBBLE))
                 break;
@@ -954,8 +955,8 @@ void fire_event(HTMLDocumentNode *doc, eventid_t eid, BOOL set_event, nsIDOMNode
             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), node->cp_container,
-                            eid, (IDispatch*)HTMLDOMNODE(node));
+                    call_event_handlers(doc, event_obj, *get_node_event_target(node),
+                            node->cp_container, eid, (IDispatch*)&node->IHTMLDOMNode_iface);
                 nsIDOMHTMLElement_Release(nsbody);
             }else {
                 ERR("Could not get body: %08x\n", nsres);
index 5384dc771a92ca0cfdd2779a7c9c0b096f64d9a7..7106fada5100f1b6b0ae1b52dc8c8a5bb8762846 100644 (file)
@@ -67,9 +67,9 @@ static HRESULT htmlform_item(HTMLFormElement *This, int i, IDispatch **ret)
         if(FAILED(hres))
             return hres;
 
-        IHTMLDOMNode_AddRef(HTMLDOMNODE(node));
+        IHTMLDOMNode_AddRef(&node->IHTMLDOMNode_iface);
         nsIDOMNode_Release(item);
-        *ret = (IDispatch*)HTMLDOMNODE(node);
+        *ret = (IDispatch*)&node->IHTMLDOMNode_iface;
     }else {
         *ret = NULL;
     }
@@ -84,21 +84,21 @@ static HRESULT WINAPI HTMLFormElement_QueryInterface(IHTMLFormElement *iface,
 {
     HTMLFormElement *This = HTMLFORM_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLFormElement_AddRef(IHTMLFormElement *iface)
 {
     HTMLFormElement *This = HTMLFORM_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLFormElement_Release(IHTMLFormElement *iface)
 {
     HTMLFormElement *This = HTMLFORM_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLFormElement_GetTypeInfoCount(IHTMLFormElement *iface, UINT *pctinfo)
index 50d0e658e47f85bee44889d1b96795e806a8a278..5b6bd081bcf39a0507f227563d163eba5e0f5de6 100644 (file)
@@ -46,21 +46,21 @@ static HRESULT WINAPI HTMLFrameElement3_QueryInterface(IHTMLFrameElement3 *iface
 {
     HTMLFrameElement *This = impl_from_IHTMLFrameElement3(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->framebase.element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->framebase.element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLFrameElement3_AddRef(IHTMLFrameElement3 *iface)
 {
     HTMLFrameElement *This = impl_from_IHTMLFrameElement3(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->framebase.element.node));
+    return IHTMLDOMNode_AddRef(&This->framebase.element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLFrameElement3_Release(IHTMLFrameElement3 *iface)
 {
     HTMLFrameElement *This = impl_from_IHTMLFrameElement3(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->framebase.element.node));
+    return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLFrameElement3_GetTypeInfoCount(IHTMLFrameElement3 *iface, UINT *pctinfo)
index 4edec99190281dd219919933349604c0ef3c14db..26d2926c56b15e5db94d73857c9cb0ceb1005c2b 100644 (file)
@@ -67,21 +67,21 @@ static HRESULT WINAPI HTMLFrameBase_QueryInterface(IHTMLFrameBase *iface, REFIID
 {
     HTMLFrameBase *This = HTMLFRAMEBASE_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLFrameBase_AddRef(IHTMLFrameBase *iface)
 {
     HTMLFrameBase *This = HTMLFRAMEBASE_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLFrameBase_Release(IHTMLFrameBase *iface)
 {
     HTMLFrameBase *This = HTMLFRAMEBASE_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLFrameBase_GetTypeInfoCount(IHTMLFrameBase *iface, UINT *pctinfo)
@@ -374,21 +374,21 @@ static HRESULT WINAPI HTMLFrameBase2_QueryInterface(IHTMLFrameBase2 *iface, REFI
 {
     HTMLFrameBase *This = HTMLFRAMEBASE2_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLFrameBase2_AddRef(IHTMLFrameBase2 *iface)
 {
     HTMLFrameBase *This = HTMLFRAMEBASE2_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLFrameBase2_Release(IHTMLFrameBase2 *iface)
 {
     HTMLFrameBase *This = HTMLFRAMEBASE2_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLFrameBase2_GetTypeInfoCount(IHTMLFrameBase2 *iface, UINT *pctinfo)
index a1cb4d807fad3fdd14500657847993eaaf496214..78bfb247d53fc5d384af13d2bb10c3275c69ab9b 100644 (file)
@@ -47,21 +47,21 @@ static HRESULT WINAPI HTMLGenericElement_QueryInterface(IHTMLGenericElement *ifa
 {
     HTMLGenericElement *This = impl_from_IHTMLGenericElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLGenericElement_AddRef(IHTMLGenericElement *iface)
 {
     HTMLGenericElement *This = impl_from_IHTMLGenericElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLGenericElement_Release(IHTMLGenericElement *iface)
 {
     HTMLGenericElement *This = impl_from_IHTMLGenericElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLGenericElement_GetTypeInfoCount(IHTMLGenericElement *iface, UINT *pctinfo)
index f54bbb18834fde6f56ecd5816b19c2521ca1c400..9798af9703bccde44dffb81ce9ef91e48261e8b0 100644 (file)
@@ -46,21 +46,21 @@ static HRESULT WINAPI HTMLIFrameElement_QueryInterface(IHTMLIFrameElement *iface
 {
     HTMLIFrame *This = impl_from_IHTMLIFrameElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->framebase.element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->framebase.element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLIFrameElement_AddRef(IHTMLIFrameElement *iface)
 {
     HTMLIFrame *This = impl_from_IHTMLIFrameElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->framebase.element.node));
+    return IHTMLDOMNode_AddRef(&This->framebase.element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLIFrameElement_Release(IHTMLIFrameElement *iface)
 {
     HTMLIFrame *This = impl_from_IHTMLIFrameElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->framebase.element.node));
+    return IHTMLDOMNode_Release(&This->framebase.element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLIFrameElement_GetTypeInfoCount(IHTMLIFrameElement *iface, UINT *pctinfo)
index a0d66e715c84791424fa456c7d69739018831195..77f0a7d261b1f6959e173b70092f13fe98a64788 100644 (file)
@@ -49,21 +49,21 @@ static HRESULT WINAPI HTMLImgElement_QueryInterface(IHTMLImgElement *iface, REFI
 {
     HTMLImgElement *This = impl_from_IHTMLImgElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLImgElement_AddRef(IHTMLImgElement *iface)
 {
     HTMLImgElement *This = impl_from_IHTMLImgElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLImgElement_Release(IHTMLImgElement *iface)
 {
     HTMLImgElement *This = impl_from_IHTMLImgElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLImgElement_GetTypeInfoCount(IHTMLImgElement *iface, UINT *pctinfo)
index 7e94a3118a97bfb6506cb87956380281850b9ee7..b521a621d6bca4c2d00774cd7478bbaa72b6bf08 100644 (file)
@@ -56,21 +56,21 @@ static HRESULT WINAPI HTMLInputElement_QueryInterface(IHTMLInputElement *iface,
 {
     HTMLInputElement *This = impl_from_IHTMLInputElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLInputElement_AddRef(IHTMLInputElement *iface)
 {
     HTMLInputElement *This = impl_from_IHTMLInputElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLInputElement_Release(IHTMLInputElement *iface)
 {
     HTMLInputElement *This = impl_from_IHTMLInputElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLInputElement_GetTypeInfoCount(IHTMLInputElement *iface, UINT *pctinfo)
@@ -825,21 +825,21 @@ static HRESULT WINAPI HTMLInputTextElement_QueryInterface(IHTMLInputTextElement
 {
     HTMLInputElement *This = impl_from_IHTMLInputTextElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLInputTextElement_AddRef(IHTMLInputTextElement *iface)
 {
     HTMLInputElement *This = impl_from_IHTMLInputTextElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLInputTextElement_Release(IHTMLInputTextElement *iface)
 {
     HTMLInputElement *This = impl_from_IHTMLInputTextElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLInputTextElement_GetTypeInfoCount(IHTMLInputTextElement *iface, UINT *pctinfo)
index 12b053d3558faf256ccb50982506dba16534c0c7..34a6c24ca436072ce93ed0cf8ce8bd9b0a54ad42 100644 (file)
@@ -179,7 +179,7 @@ static HRESULT WINAPI HTMLDOMChildrenCollection_item(IHTMLDOMChildrenCollection
     if(FAILED(hres))
         return hres;
 
-    *ppItem = (IDispatch*)HTMLDOMNODE(node);
+    *ppItem = (IDispatch*)&node->IHTMLDOMNode_iface;
     IDispatch_AddRef(*ppItem);
     return S_OK;
 }
@@ -291,19 +291,22 @@ static IHTMLDOMChildrenCollection *create_child_collection(HTMLDocumentNode *doc
     return HTMLCHILDCOL(ret);
 }
 
-#define HTMLDOMNODE_THIS(iface) DEFINE_THIS(HTMLDOMNode, HTMLDOMNode, iface)
+static inline HTMLDOMNode *impl_from_IHTMLDOMNode(IHTMLDOMNode *iface)
+{
+    return CONTAINING_RECORD(iface, HTMLDOMNode, IHTMLDOMNode_iface);
+}
 
 static HRESULT WINAPI HTMLDOMNode_QueryInterface(IHTMLDOMNode *iface,
                                                  REFIID riid, void **ppv)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
 
     return This->vtbl->qi(This, riid, ppv);
 }
 
 static ULONG WINAPI HTMLDOMNode_AddRef(IHTMLDOMNode *iface)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     LONG ref = InterlockedIncrement(&This->ref);
 
     TRACE("(%p) ref=%d\n", This, ref);
@@ -313,7 +316,7 @@ static ULONG WINAPI HTMLDOMNode_AddRef(IHTMLDOMNode *iface)
 
 static ULONG WINAPI HTMLDOMNode_Release(IHTMLDOMNode *iface)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     LONG ref = InterlockedDecrement(&This->ref);
 
     TRACE("(%p) ref=%d\n", This, ref);
@@ -329,14 +332,14 @@ static ULONG WINAPI HTMLDOMNode_Release(IHTMLDOMNode *iface)
 
 static HRESULT WINAPI HTMLDOMNode_GetTypeInfoCount(IHTMLDOMNode *iface, UINT *pctinfo)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     return IDispatchEx_GetTypeInfoCount(DISPATCHEX(&This->dispex), pctinfo);
 }
 
 static HRESULT WINAPI HTMLDOMNode_GetTypeInfo(IHTMLDOMNode *iface, UINT iTInfo,
                                               LCID lcid, ITypeInfo **ppTInfo)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     return IDispatchEx_GetTypeInfo(DISPATCHEX(&This->dispex), iTInfo, lcid, ppTInfo);
 }
 
@@ -344,7 +347,7 @@ static HRESULT WINAPI HTMLDOMNode_GetIDsOfNames(IHTMLDOMNode *iface, REFIID riid
                                                 LPOLESTR *rgszNames, UINT cNames,
                                                 LCID lcid, DISPID *rgDispId)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     return IDispatchEx_GetIDsOfNames(DISPATCHEX(&This->dispex), riid, rgszNames, cNames, lcid, rgDispId);
 }
 
@@ -352,14 +355,14 @@ static HRESULT WINAPI HTMLDOMNode_Invoke(IHTMLDOMNode *iface, DISPID dispIdMembe
                             REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
                             VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     return IDispatchEx_Invoke(DISPATCHEX(&This->dispex), dispIdMember, riid, lcid,
             wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
 }
 
 static HRESULT WINAPI HTMLDOMNode_get_nodeType(IHTMLDOMNode *iface, LONG *p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     PRUint16 type = -1;
 
     TRACE("(%p)->(%p)\n", This, p);
@@ -397,7 +400,7 @@ static HRESULT WINAPI HTMLDOMNode_get_nodeType(IHTMLDOMNode *iface, LONG *p)
 
 static HRESULT WINAPI HTMLDOMNode_get_parentNode(IHTMLDOMNode *iface, IHTMLDOMNode **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     HTMLDOMNode *node;
     nsIDOMNode *nsnode;
     nsresult nsres;
@@ -421,14 +424,14 @@ static HRESULT WINAPI HTMLDOMNode_get_parentNode(IHTMLDOMNode *iface, IHTMLDOMNo
     if(FAILED(hres))
         return hres;
 
-    *p = HTMLDOMNODE(node);
+    *p = &node->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*p);
     return S_OK;
 }
 
 static HRESULT WINAPI HTMLDOMNode_hasChildNodes(IHTMLDOMNode *iface, VARIANT_BOOL *fChildren)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     PRBool has_child = FALSE;
     nsresult nsres;
 
@@ -444,7 +447,7 @@ static HRESULT WINAPI HTMLDOMNode_hasChildNodes(IHTMLDOMNode *iface, VARIANT_BOO
 
 static HRESULT WINAPI HTMLDOMNode_get_childNodes(IHTMLDOMNode *iface, IDispatch **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     nsIDOMNodeList *nslist;
     nsresult nsres;
 
@@ -464,7 +467,7 @@ static HRESULT WINAPI HTMLDOMNode_get_childNodes(IHTMLDOMNode *iface, IDispatch
 
 static HRESULT WINAPI HTMLDOMNode_get_attributes(IHTMLDOMNode *iface, IDispatch **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     FIXME("(%p)->(%p)\n", This, p);
     return E_NOTIMPL;
 }
@@ -472,7 +475,7 @@ static HRESULT WINAPI HTMLDOMNode_get_attributes(IHTMLDOMNode *iface, IDispatch
 static HRESULT WINAPI HTMLDOMNode_insertBefore(IHTMLDOMNode *iface, IHTMLDOMNode *newChild,
                                                VARIANT refChild, IHTMLDOMNode **node)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     nsIDOMNode *nsnode, *nsref = NULL;
     HTMLDOMNode *new_child;
     HTMLDOMNode *node_obj;
@@ -518,7 +521,7 @@ static HRESULT WINAPI HTMLDOMNode_insertBefore(IHTMLDOMNode *iface, IHTMLDOMNode
     if(FAILED(hres))
         return hres;
 
-    *node = HTMLDOMNODE(node_obj);
+    *node = &node_obj->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*node);
     return S_OK;
 }
@@ -526,7 +529,7 @@ static HRESULT WINAPI HTMLDOMNode_insertBefore(IHTMLDOMNode *iface, IHTMLDOMNode
 static HRESULT WINAPI HTMLDOMNode_removeChild(IHTMLDOMNode *iface, IHTMLDOMNode *oldChild,
                                               IHTMLDOMNode **node)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     HTMLDOMNode *node_obj;
     nsIDOMNode *nsnode;
     nsresult nsres;
@@ -550,7 +553,7 @@ static HRESULT WINAPI HTMLDOMNode_removeChild(IHTMLDOMNode *iface, IHTMLDOMNode
         return hres;
 
     /* FIXME: Make sure that node != newChild */
-    *node = HTMLDOMNODE(node_obj);
+    *node = &node_obj->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*node);
     return S_OK;
 }
@@ -558,7 +561,7 @@ static HRESULT WINAPI HTMLDOMNode_removeChild(IHTMLDOMNode *iface, IHTMLDOMNode
 static HRESULT WINAPI HTMLDOMNode_replaceChild(IHTMLDOMNode *iface, IHTMLDOMNode *newChild,
                                                IHTMLDOMNode *oldChild, IHTMLDOMNode **node)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     FIXME("(%p)->(%p %p %p)\n", This, newChild, oldChild, node);
     return E_NOTIMPL;
 }
@@ -566,7 +569,7 @@ static HRESULT WINAPI HTMLDOMNode_replaceChild(IHTMLDOMNode *iface, IHTMLDOMNode
 static HRESULT WINAPI HTMLDOMNode_cloneNode(IHTMLDOMNode *iface, VARIANT_BOOL fDeep,
                                             IHTMLDOMNode **clonedNode)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     HTMLDOMNode *new_node;
     nsIDOMNode *nsnode;
     nsresult nsres;
@@ -584,14 +587,14 @@ static HRESULT WINAPI HTMLDOMNode_cloneNode(IHTMLDOMNode *iface, VARIANT_BOOL fD
     if(FAILED(hres))
         return hres;
 
-    *clonedNode = HTMLDOMNODE(new_node);
+    *clonedNode = &new_node->IHTMLDOMNode_iface;
     return S_OK;
 }
 
 static HRESULT WINAPI HTMLDOMNode_removeNode(IHTMLDOMNode *iface, VARIANT_BOOL fDeep,
                                              IHTMLDOMNode **removed)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     FIXME("(%p)->(%x %p)\n", This, fDeep, removed);
     return E_NOTIMPL;
 }
@@ -599,7 +602,7 @@ static HRESULT WINAPI HTMLDOMNode_removeNode(IHTMLDOMNode *iface, VARIANT_BOOL f
 static HRESULT WINAPI HTMLDOMNode_swapNode(IHTMLDOMNode *iface, IHTMLDOMNode *otherNode,
                                            IHTMLDOMNode **swappedNode)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     FIXME("(%p)->(%p %p)\n", This, otherNode, swappedNode);
     return E_NOTIMPL;
 }
@@ -607,7 +610,7 @@ static HRESULT WINAPI HTMLDOMNode_swapNode(IHTMLDOMNode *iface, IHTMLDOMNode *ot
 static HRESULT WINAPI HTMLDOMNode_replaceNode(IHTMLDOMNode *iface, IHTMLDOMNode *replacement,
                                               IHTMLDOMNode **replaced)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     FIXME("(%p)->(%p %p)\n", This, replacement, replaced);
     return E_NOTIMPL;
 }
@@ -615,7 +618,7 @@ static HRESULT WINAPI HTMLDOMNode_replaceNode(IHTMLDOMNode *iface, IHTMLDOMNode
 static HRESULT WINAPI HTMLDOMNode_appendChild(IHTMLDOMNode *iface, IHTMLDOMNode *newChild,
                                               IHTMLDOMNode **node)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     HTMLDOMNode *node_obj;
     nsIDOMNode *nsnode;
     nsresult nsres;
@@ -639,14 +642,14 @@ static HRESULT WINAPI HTMLDOMNode_appendChild(IHTMLDOMNode *iface, IHTMLDOMNode
         return hres;
 
     /* FIXME: Make sure that node != newChild */
-    *node = HTMLDOMNODE(node_obj);
+    *node = &node_obj->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*node);
     return S_OK;
 }
 
 static HRESULT WINAPI HTMLDOMNode_get_nodeName(IHTMLDOMNode *iface, BSTR *p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
 
     TRACE("(%p)->(%p)\n", This, p);
 
@@ -675,7 +678,7 @@ static HRESULT WINAPI HTMLDOMNode_get_nodeName(IHTMLDOMNode *iface, BSTR *p)
 
 static HRESULT WINAPI HTMLDOMNode_put_nodeValue(IHTMLDOMNode *iface, VARIANT v)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
 
     TRACE("(%p)->()\n", This);
 
@@ -701,7 +704,7 @@ static HRESULT WINAPI HTMLDOMNode_put_nodeValue(IHTMLDOMNode *iface, VARIANT v)
 
 static HRESULT WINAPI HTMLDOMNode_get_nodeValue(IHTMLDOMNode *iface, VARIANT *p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     const PRUnichar *val;
     nsAString val_str;
 
@@ -725,7 +728,7 @@ static HRESULT WINAPI HTMLDOMNode_get_nodeValue(IHTMLDOMNode *iface, VARIANT *p)
 
 static HRESULT WINAPI HTMLDOMNode_get_firstChild(IHTMLDOMNode *iface, IHTMLDOMNode **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     nsIDOMNode *nschild = NULL;
     HTMLDOMNode *node;
     HRESULT hres;
@@ -743,14 +746,14 @@ static HRESULT WINAPI HTMLDOMNode_get_firstChild(IHTMLDOMNode *iface, IHTMLDOMNo
     if(FAILED(hres))
         return hres;
 
-    *p = HTMLDOMNODE(node);
+    *p = &node->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*p);
     return S_OK;
 }
 
 static HRESULT WINAPI HTMLDOMNode_get_lastChild(IHTMLDOMNode *iface, IHTMLDOMNode **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     nsIDOMNode *nschild = NULL;
     HTMLDOMNode *node;
     HRESULT hres;
@@ -768,21 +771,21 @@ static HRESULT WINAPI HTMLDOMNode_get_lastChild(IHTMLDOMNode *iface, IHTMLDOMNod
     if(FAILED(hres))
         return hres;
 
-    *p = HTMLDOMNODE(node);
+    *p = &node->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*p);
     return S_OK;
 }
 
 static HRESULT WINAPI HTMLDOMNode_get_previousSibling(IHTMLDOMNode *iface, IHTMLDOMNode **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     FIXME("(%p)->(%p)\n", This, p);
     return E_NOTIMPL;
 }
 
 static HRESULT WINAPI HTMLDOMNode_get_nextSibling(IHTMLDOMNode *iface, IHTMLDOMNode **p)
 {
-    HTMLDOMNode *This = HTMLDOMNODE_THIS(iface);
+    HTMLDOMNode *This = impl_from_IHTMLDOMNode(iface);
     nsIDOMNode *nssibling = NULL;
     HTMLDOMNode *node;
     HRESULT hres;
@@ -800,13 +803,11 @@ static HRESULT WINAPI HTMLDOMNode_get_nextSibling(IHTMLDOMNode *iface, IHTMLDOMN
     if(FAILED(hres))
         return hres;
 
-    *p = HTMLDOMNODE(node);
+    *p = &node->IHTMLDOMNode_iface;
     IHTMLDOMNode_AddRef(*p);
     return S_OK;
 }
 
-#undef HTMLDOMNODE_THIS
-
 static const IHTMLDOMNodeVtbl HTMLDOMNodeVtbl = {
     HTMLDOMNode_QueryInterface,
     HTMLDOMNode_AddRef,
@@ -844,21 +845,21 @@ static HRESULT WINAPI HTMLDOMNode2_QueryInterface(IHTMLDOMNode2 *iface,
 {
     HTMLDOMNode *This = HTMLDOMNODE2_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(This), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLDOMNode2_AddRef(IHTMLDOMNode2 *iface)
 {
     HTMLDOMNode *This = HTMLDOMNODE2_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(This));
+    return IHTMLDOMNode_AddRef(&This->IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLDOMNode2_Release(IHTMLDOMNode2 *iface)
 {
     HTMLDOMNode *This = HTMLDOMNODE2_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(This));
+    return IHTMLDOMNode_Release(&This->IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLDOMNode2_GetTypeInfoCount(IHTMLDOMNode2 *iface, UINT *pctinfo)
@@ -926,10 +927,10 @@ HRESULT HTMLDOMNode_QI(HTMLDOMNode *This, REFIID riid, void **ppv)
 
     if(IsEqualGUID(&IID_IUnknown, riid)) {
         TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
-        *ppv = HTMLDOMNODE(This);
+        *ppv = &This->IHTMLDOMNode_iface;
     }else if(IsEqualGUID(&IID_IDispatch, riid)) {
         TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
-        *ppv = HTMLDOMNODE(This);
+        *ppv = &This->IHTMLDOMNode_iface;
     }else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
         if(This->dispex.data) {
             TRACE("(%p)->(IID_IDispatchEx %p)\n", This, ppv);
@@ -940,7 +941,7 @@ HRESULT HTMLDOMNode_QI(HTMLDOMNode *This, REFIID riid, void **ppv)
         }
     }else if(IsEqualGUID(&IID_IHTMLDOMNode, riid)) {
         TRACE("(%p)->(IID_IHTMLDOMNode %p)\n", This, ppv);
-        *ppv = HTMLDOMNODE(This);
+        *ppv = &This->IHTMLDOMNode_iface;
     }else if(IsEqualGUID(&IID_IHTMLDOMNode2, riid)) {
         TRACE("(%p)->(IID_IHTMLDOMNode2 %p)\n", This, ppv);
         *ppv = HTMLDOMNODE2(This);
@@ -973,7 +974,7 @@ static HRESULT HTMLDOMNode_clone(HTMLDOMNode *This, nsIDOMNode *nsnode, HTMLDOMN
     if(FAILED(hres))
         return hres;
 
-    IHTMLDOMNode_AddRef(HTMLDOMNODE(*ret));
+    IHTMLDOMNode_AddRef(&(*ret)->IHTMLDOMNode_iface);
     return S_OK;
 }
 
@@ -985,7 +986,7 @@ static const NodeImplVtbl HTMLDOMNodeImplVtbl = {
 
 void HTMLDOMNode_Init(HTMLDocumentNode *doc, HTMLDOMNode *node, nsIDOMNode *nsnode)
 {
-    node->lpHTMLDOMNodeVtbl = &HTMLDOMNodeVtbl;
+    node->IHTMLDOMNode_iface.lpVtbl = &HTMLDOMNodeVtbl;
     node->lpHTMLDOMNode2Vtbl = &HTMLDOMNode2Vtbl;
     node->ref = 1;
     node->doc = doc;
@@ -1082,7 +1083,7 @@ static HTMLDOMNode *get_node_obj(HTMLDocumentNode *This, IUnknown *iface)
     IHTMLDOMNode_Release(node);
 
     while(iter) {
-        if(HTMLDOMNODE(iter) == node)
+        if(&iter->IHTMLDOMNode_iface == node)
             return iter;
         iter = iter->next;
     }
@@ -1102,6 +1103,6 @@ void release_nodes(HTMLDocumentNode *This)
         next = iter->next;
         iter->doc = NULL;
         if(&This->node != iter)
-            IHTMLDOMNode_Release(HTMLDOMNODE(iter));
+            IHTMLDOMNode_Release(&iter->IHTMLDOMNode_iface);
     }
 }
index 805ee62d9b159d04c409f8c667d739e461a9de4d..6a169ec91576940ed884af942af65bdcc0c6b1c4 100644 (file)
@@ -51,21 +51,22 @@ static HRESULT WINAPI HTMLObjectElement_QueryInterface(IHTMLObjectElement *iface
 {
     HTMLObjectElement *This = impl_from_IHTMLObjectElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->plugin_container.element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->plugin_container.element.node.IHTMLDOMNode_iface,
+            riid, ppv);
 }
 
 static ULONG WINAPI HTMLObjectElement_AddRef(IHTMLObjectElement *iface)
 {
     HTMLObjectElement *This = impl_from_IHTMLObjectElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->plugin_container.element.node));
+    return IHTMLDOMNode_AddRef(&This->plugin_container.element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLObjectElement_Release(IHTMLObjectElement *iface)
 {
     HTMLObjectElement *This = impl_from_IHTMLObjectElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->plugin_container.element.node));
+    return IHTMLDOMNode_Release(&This->plugin_container.element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLObjectElement_GetTypeInfoCount(IHTMLObjectElement *iface, UINT *pctinfo)
index 1b6d64c2339b6793b84d50300c432d4aa611144a..c3f0ec4db80c2c00ebe31d9fb3acd4001dac30a2 100644 (file)
@@ -48,21 +48,21 @@ static HRESULT WINAPI HTMLOptionElement_QueryInterface(IHTMLOptionElement *iface
 {
     HTMLOptionElement *This = HTMLOPTION_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLOptionElement_AddRef(IHTMLOptionElement *iface)
 {
     HTMLOptionElement *This = HTMLOPTION_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLOptionElement_Release(IHTMLOptionElement *iface)
 {
     HTMLOptionElement *This = HTMLOPTION_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLOptionElement_GetTypeInfoCount(IHTMLOptionElement *iface, UINT *pctinfo)
@@ -499,7 +499,7 @@ static HRESULT WINAPI HTMLOptionElementFactory_create(IHTMLOptionElementFactory
     if(FAILED(hres))
         return hres;
 
-    hres = IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node),
+    hres = IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface,
             &IID_IHTMLOptionElement, (void**)optelem);
 
     if(V_VT(&text) == VT_BSTR)
index 3f10f377df9d2e2797ad43a141f2f20a0f4d6fdc..cd433ec5d6bb942b00b42eab0c73af536f2d9428 100644 (file)
@@ -49,21 +49,21 @@ static HRESULT WINAPI HTMLScriptElement_QueryInterface(IHTMLScriptElement *iface
 {
     HTMLScriptElement *This = impl_from_IHTMLScriptElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLScriptElement_AddRef(IHTMLScriptElement *iface)
 {
     HTMLScriptElement *This = impl_from_IHTMLScriptElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLScriptElement_Release(IHTMLScriptElement *iface)
 {
     HTMLScriptElement *This = impl_from_IHTMLScriptElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLScriptElement_GetTypeInfoCount(IHTMLScriptElement *iface, UINT *pctinfo)
index 82b081d37f3d1d43741efe93423323b033fdecce..29454a83a0ef5c0810a1919288fd7f9c14aab147 100644 (file)
@@ -73,8 +73,8 @@ static HRESULT htmlselect_item(HTMLSelectElement *This, int i, IDispatch **ret)
         if(FAILED(hres))
             return hres;
 
-        IHTMLDOMNode_AddRef(HTMLDOMNODE(node));
-        *ret = (IDispatch*)HTMLDOMNODE(node);
+        IHTMLDOMNode_AddRef(&node->IHTMLDOMNode_iface);
+        *ret = (IDispatch*)&node->IHTMLDOMNode_iface;
     }else {
         *ret = NULL;
     }
@@ -86,21 +86,21 @@ static HRESULT WINAPI HTMLSelectElement_QueryInterface(IHTMLSelectElement *iface
 {
     HTMLSelectElement *This = impl_from_IHTMLSelectElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLSelectElement_AddRef(IHTMLSelectElement *iface)
 {
     HTMLSelectElement *This = impl_from_IHTMLSelectElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLSelectElement_Release(IHTMLSelectElement *iface)
 {
     HTMLSelectElement *This = impl_from_IHTMLSelectElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLSelectElement_GetTypeInfoCount(IHTMLSelectElement *iface, UINT *pctinfo)
@@ -387,7 +387,7 @@ static HRESULT WINAPI HTMLSelectElement_add(IHTMLSelectElement *iface, IHTMLElem
     if(FAILED(hres))
         return hres;
 
-    hres = IHTMLDOMNode_appendChild(HTMLDOMNODE(&This->element.node), node, &tmp);
+    hres = IHTMLDOMNode_appendChild(&This->element.node.IHTMLDOMNode_iface, node, &tmp);
     IHTMLDOMNode_Release(node);
     if(SUCCEEDED(hres) && tmp)
         IHTMLDOMNode_Release(tmp);
index b85c615ac1c94e3395dd7f91b83d2cf6067f9aec..b0535ce750d2c36f957a7116f75cd9441c7613ff 100644 (file)
@@ -49,21 +49,21 @@ static HRESULT WINAPI HTMLStyleElement_QueryInterface(IHTMLStyleElement *iface,
 {
     HTMLStyleElement *This = HTMLSTYLE_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLStyleElement_AddRef(IHTMLStyleElement *iface)
 {
     HTMLStyleElement *This = HTMLSTYLE_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLStyleElement_Release(IHTMLStyleElement *iface)
 {
     HTMLStyleElement *This = HTMLSTYLE_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLStyleElement_GetTypeInfoCount(IHTMLStyleElement *iface, UINT *pctinfo)
index 552da18d36078b6ddf6d26135659a267b12caeb6..699c6e599b7ccc5294398d3e8ff6e576046981a5 100644 (file)
@@ -49,21 +49,21 @@ static HRESULT WINAPI HTMLTable_QueryInterface(IHTMLTable *iface,
 {
     HTMLTable *This = HTMLTABLE_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLTable_AddRef(IHTMLTable *iface)
 {
     HTMLTable *This = HTMLTABLE_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLTable_Release(IHTMLTable *iface)
 {
     HTMLTable *This = HTMLTABLE_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLTable_GetTypeInfoCount(IHTMLTable *iface, UINT *pctinfo)
index 9061dc9cf1fe41dd58913a66ef82fdc517359543..3a0df488e7fe5b8b073ebb36110b39ec9890efb2 100644 (file)
@@ -49,21 +49,21 @@ static HRESULT WINAPI HTMLTableRow_QueryInterface(IHTMLTableRow *iface,
 {
     HTMLTableRow *This = impl_from_IHTMLTableRow(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLTableRow_AddRef(IHTMLTableRow *iface)
 {
     HTMLTableRow *This = impl_from_IHTMLTableRow(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLTableRow_Release(IHTMLTableRow *iface)
 {
     HTMLTableRow *This = impl_from_IHTMLTableRow(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLTableRow_GetTypeInfoCount(IHTMLTableRow *iface, UINT *pctinfo)
index 87bac4bc8f5fce86ab9457bf6b71367547c99d28..839eecaefc65188cf06b7d6c830ee168bf5c33f4 100644 (file)
@@ -49,21 +49,21 @@ static HRESULT WINAPI HTMLTextAreaElement_QueryInterface(IHTMLTextAreaElement *i
 {
     HTMLTextAreaElement *This = impl_from_IHTMLTextAreaElement(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->element.node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->element.node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLTextAreaElement_AddRef(IHTMLTextAreaElement *iface)
 {
     HTMLTextAreaElement *This = impl_from_IHTMLTextAreaElement(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_AddRef(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLTextAreaElement_Release(IHTMLTextAreaElement *iface)
 {
     HTMLTextAreaElement *This = impl_from_IHTMLTextAreaElement(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->element.node));
+    return IHTMLDOMNode_Release(&This->element.node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLTextAreaElement_GetTypeInfoCount(IHTMLTextAreaElement *iface, UINT *pctinfo)
index a5e4ec63d058a2fe0074a234a775b905b4585f57..4a3bfe9fc5d072af5f4a9ac39c89d95c2e574ef2 100644 (file)
@@ -48,21 +48,21 @@ static HRESULT WINAPI HTMLDOMTextNode_QueryInterface(IHTMLDOMTextNode *iface,
 {
     HTMLDOMTextNode *This = HTMLTEXT_THIS(iface);
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI HTMLDOMTextNode_AddRef(IHTMLDOMTextNode *iface)
 {
     HTMLDOMTextNode *This = HTMLTEXT_THIS(iface);
 
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->node));
+    return IHTMLDOMNode_AddRef(&This->node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI HTMLDOMTextNode_Release(IHTMLDOMTextNode *iface)
 {
     HTMLDOMTextNode *This = HTMLTEXT_THIS(iface);
 
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->node));
+    return IHTMLDOMNode_Release(&This->node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI HTMLDOMTextNode_GetTypeInfoCount(IHTMLDOMTextNode *iface, UINT *pctinfo)
@@ -197,7 +197,7 @@ static HRESULT HTMLDOMTextNode_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTM
     if(FAILED(hres))
         return hres;
 
-    IHTMLDOMNode_AddRef(HTMLDOMNODE(*ret));
+    IHTMLDOMNode_AddRef(&(*ret)->IHTMLDOMNode_iface);
     return S_OK;
 }
 
index 8d52bfc3fc9fc901ac5b5db30035fe52fc311d8c..ae7c12160ece20d76cb74d730464a96bba25a495 100644 (file)
@@ -531,7 +531,7 @@ typedef struct {
 
 struct HTMLDOMNode {
     DispatchEx dispex;
-    const IHTMLDOMNodeVtbl   *lpHTMLDOMNodeVtbl;
+    IHTMLDOMNode  IHTMLDOMNode_iface;
     const IHTMLDOMNode2Vtbl  *lpHTMLDOMNode2Vtbl;
     const NodeImplVtbl *vtbl;
 
@@ -642,7 +642,6 @@ struct HTMLDocumentNode {
 #define STATUSCLB(x)     ((IBindStatusCallback*)          &(x)->lpBindStatusCallbackVtbl)
 #define BINDINFO(x)      ((IInternetBindInfo*)            &(x)->lpInternetBindInfoVtbl);
 
-#define HTMLDOMNODE(x)   ((IHTMLDOMNode*)                 &(x)->lpHTMLDOMNodeVtbl)
 #define HTMLDOMNODE2(x)  ((IHTMLDOMNode2*)                &(x)->lpHTMLDOMNode2Vtbl)
 
 #define HTMLTEXTCONT(x)  ((IHTMLTextContainer*)           &(x)->lpHTMLTextContainerVtbl)
index ca574000866766f5647d6a66d4fe2b455447f9f1..9e17bbff1effa841b6fdf1e0fa557b6ab8e1bd1c 100644 (file)
@@ -1244,7 +1244,7 @@ static nsresult NSAPI nsContextMenuListener_OnShowContextMenu(nsIContextMenuList
     if(FAILED(hres))
         return NS_ERROR_FAILURE;
 
-    show_context_menu(This->doc, dwID, &pt, (IDispatch*)HTMLDOMNODE(node));
+    show_context_menu(This->doc, dwID, &pt, (IDispatch*)&node->IHTMLDOMNode_iface);
     return NS_OK;
 }
 
index aa9d7533a1bcba7f1d2fdb2e3c2eb94eddc5c556..dc6cc406a222937e40128eeb913e2bd0c2944000 100644 (file)
@@ -1201,7 +1201,8 @@ static HRESULT assoc_element(PluginHost *host, HTMLDocumentNode *doc, nsIDOMElem
     if(FAILED(hres))
         return hres;
 
-    hres = IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_HTMLPluginContainer, (void**)&container_elem);
+    hres = IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_HTMLPluginContainer,
+            (void**)&container_elem);
     if(FAILED(hres)) {
         ERR("Not an object element\n");
         return hres;
index 9673e8e83da99238620f56cc92b0039eeafa6fba..c4f2e5958b047d3b754c602f96e4bff5dbb9344e 100644 (file)
@@ -47,19 +47,19 @@ const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY =
 static HRESULT WINAPI InternetHostSecurityManager_QueryInterface(IInternetHostSecurityManager *iface, REFIID riid, void **ppv)
 {
     HTMLDocumentNode *This = HOSTSECMGR_THIS(iface);
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(&This->node), riid, ppv);
+    return IHTMLDOMNode_QueryInterface(&This->node.IHTMLDOMNode_iface, riid, ppv);
 }
 
 static ULONG WINAPI InternetHostSecurityManager_AddRef(IInternetHostSecurityManager *iface)
 {
     HTMLDocumentNode *This = HOSTSECMGR_THIS(iface);
-    return IHTMLDOMNode_AddRef(HTMLDOMNODE(&This->node));
+    return IHTMLDOMNode_AddRef(&This->node.IHTMLDOMNode_iface);
 }
 
 static ULONG WINAPI InternetHostSecurityManager_Release(IInternetHostSecurityManager *iface)
 {
     HTMLDocumentNode *This = HOSTSECMGR_THIS(iface);
-    return IHTMLDOMNode_Release(HTMLDOMNODE(&This->node));
+    return IHTMLDOMNode_Release(&This->node.IHTMLDOMNode_iface);
 }
 
 static HRESULT WINAPI InternetHostSecurityManager_GetSecurityId(IInternetHostSecurityManager *iface,  BYTE *pbSecurityId,
index 3ee07ef0c1fc539f1216cdbb67988d7cf0fa824d..9a542db6e3b42061307c186f5a77f83cd4ad25fa 100644 (file)
@@ -1212,7 +1212,7 @@ static HRESULT WINAPI HTMLTxtRange_parentElement(IHTMLTxtRange *iface, IHTMLElem
     if(FAILED(hres))
         return hres;
 
-    return IHTMLDOMNode_QueryInterface(HTMLDOMNODE(node), &IID_IHTMLElement, (void**)parent);
+    return IHTMLDOMNode_QueryInterface(&node->IHTMLDOMNode_iface, &IID_IHTMLElement, (void**)parent);
 }
 
 static HRESULT WINAPI HTMLTxtRange_duplicate(IHTMLTxtRange *iface, IHTMLTxtRange **Duplicate)