Jacek Caban : mshtml: Don' t assume that nsIDOMHTML*Element interfaces inherit from nsIDOMHTMLElement in htmlscript.c.
Module: wine Branch: master Commit: b2c65c296f3664c78eba9665fd731c9f4c3d76ce URL: http://source.winehq.org/git/wine.git/?a=commit;h=b2c65c296f3664c78eba9665fd... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Wed Oct 1 11:23:47 2014 +0200 mshtml: Don't assume that nsIDOMHTML*Element interfaces inherit from nsIDOMHTMLElement in htmlscript.c. --- dlls/mshtml/htmlscript.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/dlls/mshtml/htmlscript.c b/dlls/mshtml/htmlscript.c index dcab32f..1a61398 100644 --- a/dlls/mshtml/htmlscript.c +++ b/dlls/mshtml/htmlscript.c @@ -136,7 +136,7 @@ static HRESULT WINAPI HTMLScriptElement_put_src(IHTMLScriptElement *iface, BSTR return S_OK; } - nsres = nsIDOMHTMLScriptElement_GetParentNode(This->nsscript, &parent); + nsres = nsIDOMHTMLElement_GetParentNode(This->element.nselem, &parent); if(NS_FAILED(nsres) || !parent) { TRACE("No parent, not executing\n"); This->parse_on_bind = TRUE; @@ -214,7 +214,7 @@ static HRESULT WINAPI HTMLScriptElement_put_text(IHTMLScriptElement *iface, BSTR return E_FAIL; } - nsres = nsIDOMHTMLScriptElement_GetParentNode(This->nsscript, &parent); + nsres = nsIDOMHTMLElement_GetParentNode(This->element.nselem, &parent); if(NS_FAILED(nsres) || !parent) { TRACE("No parent, not executing\n"); This->parse_on_bind = TRUE; @@ -433,10 +433,16 @@ static const NodeImplVtbl HTMLScriptElementImplVtbl = { HRESULT script_elem_from_nsscript(HTMLDocumentNode *doc, nsIDOMHTMLScriptElement *nsscript, HTMLScriptElement **ret) { + nsIDOMNode *nsnode; HTMLDOMNode *node; + nsresult nsres; HRESULT hres; - hres = get_node(doc, (nsIDOMNode*)nsscript, TRUE, &node); + nsres = nsIDOMHTMLScriptElement_QueryInterface(nsscript, &IID_nsIDOMNode, (void**)&nsnode); + assert(nsres == NS_OK); + + hres = get_node(doc, nsnode, TRUE, &node); + nsIDOMNode_Release(nsnode); if(FAILED(hres)) return hres;
participants (1)
-
Alexandre Julliard