diff --git a/dlls/mshtml/script.c b/dlls/mshtml/script.c index da6839fb1b8..4e79df534c3 100644 --- a/dlls/mshtml/script.c +++ b/dlls/mshtml/script.c @@ -849,6 +849,7 @@ static BOOL get_guid_from_language(LPCWSTR type, GUID *guid) static BOOL get_script_guid(HTMLInnerWindow *window, nsIDOMHTMLScriptElement *nsscript, GUID *guid) { + nsIDOMHTMLElement *nselem; const PRUnichar *language; nsAString val_str; BOOL ret = FALSE; @@ -872,7 +873,11 @@ static BOOL get_script_guid(HTMLInnerWindow *window, nsIDOMHTMLScriptElement *ns ERR("GetType failed: %08x\n", nsres); } - nsres = get_elem_attr_value((nsIDOMHTMLElement*)nsscript, languageW, &val_str, &language); + nsres = nsIDOMHTMLScriptElement_QueryInterface(nsscript, &IID_nsIDOMHTMLElement, (void**)&nselem); + assert(nsres == NS_OK); + + nsres = get_elem_attr_value(nselem, languageW, &val_str, &language); + nsIDOMHTMLElement_Release(nselem); if(NS_SUCCEEDED(nsres)) { if(*language) { ret = get_guid_from_language(language, guid);