mshtml: Get rid of no loner needed document node reference in HTMLDOMChildrenCollection.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2018-02-19 14:49:25 +01:00 committed by Alexandre Julliard
parent 69af9a4c9d
commit a19caad9d0
4 changed files with 5 additions and 12 deletions

View File

@ -4306,7 +4306,7 @@ static HRESULT WINAPI DocumentSelector_querySelectorAll(IDocumentSelector *iface
return E_FAIL;
}
*pel = create_child_collection(This->doc_node, node_list);
*pel = create_child_collection(node_list);
nsIDOMNodeList_Release(node_list);
return *pel ? S_OK : E_OUTOFMEMORY;
}

View File

@ -4964,7 +4964,7 @@ static HRESULT WINAPI ElementSelector_querySelectorAll(IElementSelector *iface,
return E_FAIL;
}
*pel = create_child_collection(This->node.doc, node_list);
*pel = create_child_collection(node_list);
nsIDOMNodeList_Release(node_list);
return *pel ? S_OK : E_OUTOFMEMORY;
}

View File

@ -44,9 +44,6 @@ typedef struct {
LONG ref;
/* FIXME: implement weak reference */
HTMLDocumentNode *doc;
nsIDOMNodeList *nslist;
} HTMLDOMChildrenCollection;
@ -244,7 +241,6 @@ static ULONG WINAPI HTMLDOMChildrenCollection_Release(IHTMLDOMChildrenCollection
TRACE("(%p) ref=%d\n", This, ref);
if(!ref) {
htmldoc_release(&This->doc->basedoc);
nsIDOMNodeList_Release(This->nslist);
heap_free(This);
}
@ -440,7 +436,7 @@ static dispex_static_data_t HTMLDOMChildrenCollection_dispex = {
HTMLDOMNode_init_dispex_info
};
IHTMLDOMChildrenCollection *create_child_collection(HTMLDocumentNode *doc, nsIDOMNodeList *nslist)
IHTMLDOMChildrenCollection *create_child_collection(nsIDOMNodeList *nslist)
{
HTMLDOMChildrenCollection *ret;
@ -454,9 +450,6 @@ IHTMLDOMChildrenCollection *create_child_collection(HTMLDocumentNode *doc, nsIDO
nsIDOMNodeList_AddRef(nslist);
ret->nslist = nslist;
htmldoc_addref(&doc->basedoc);
ret->doc = doc;
init_dispex(&ret->dispex, (IUnknown*)&ret->IHTMLDOMChildrenCollection_iface,
&HTMLDOMChildrenCollection_dispex);
@ -628,7 +621,7 @@ static HRESULT WINAPI HTMLDOMNode_get_childNodes(IHTMLDOMNode *iface, IDispatch
return E_FAIL;
}
*p = (IDispatch*)create_child_collection(This->doc, nslist);
*p = (IDispatch*)create_child_collection(nslist);
nsIDOMNodeList_Release(nslist);
return *p ? S_OK : E_OUTOFMEMORY;

View File

@ -1089,7 +1089,7 @@ HRESULT wrap_iface(IUnknown*,IUnknown*,IUnknown**) DECLSPEC_HIDDEN;
IHTMLElementCollection *create_all_collection(HTMLDOMNode*,BOOL) DECLSPEC_HIDDEN;
IHTMLElementCollection *create_collection_from_nodelist(HTMLDocumentNode*,nsIDOMNodeList*) DECLSPEC_HIDDEN;
IHTMLElementCollection *create_collection_from_htmlcol(HTMLDocumentNode*,nsIDOMHTMLCollection*) DECLSPEC_HIDDEN;
IHTMLDOMChildrenCollection *create_child_collection(HTMLDocumentNode*,nsIDOMNodeList*) DECLSPEC_HIDDEN;
IHTMLDOMChildrenCollection *create_child_collection(nsIDOMNodeList*) DECLSPEC_HIDDEN;
HRESULT attr_value_to_string(VARIANT*) DECLSPEC_HIDDEN;
HRESULT get_elem_attr_value_by_dispid(HTMLElement*,DISPID,VARIANT*) DECLSPEC_HIDDEN;