mshtml: Use stored nsdoc in set_font_size.

This commit is contained in:
Jacek Caban 2008-10-08 13:28:08 -05:00 committed by Alexandre Julliard
parent 427610da89
commit 23937c4704
1 changed files with 7 additions and 11 deletions

View File

@ -341,17 +341,19 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
{ {
nsISelection *nsselection; nsISelection *nsselection;
PRBool collapsed; PRBool collapsed;
nsIDOMDocument *nsdoc;
nsIDOMElement *elem; nsIDOMElement *elem;
nsIDOMRange *range; nsIDOMRange *range;
PRInt32 range_cnt = 0; PRInt32 range_cnt = 0;
nsAString font_str; nsAString font_str;
nsAString size_str; nsAString size_str;
nsAString val_str; nsAString val_str;
nsresult nsres;
if(!This->nsdoc) {
WARN("NULL nsdoc\n");
return;
}
nsselection = get_ns_selection(This); nsselection = get_ns_selection(This);
if(!nsselection) if(!nsselection)
return; return;
@ -364,15 +366,11 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
} }
} }
nsres = nsIWebNavigation_GetDocument(This->nscontainer->navigation, &nsdoc);
if(NS_FAILED(nsres))
return;
nsAString_Init(&font_str, wszFont); nsAString_Init(&font_str, wszFont);
nsAString_Init(&size_str, wszSize); nsAString_Init(&size_str, wszSize);
nsAString_Init(&val_str, size); nsAString_Init(&val_str, size);
nsIDOMDocument_CreateElement(nsdoc, &font_str, &elem); nsIDOMDocument_CreateElement(This->nsdoc, &font_str, &elem);
nsIDOMElement_SetAttribute(elem, &size_str, &val_str); nsIDOMElement_SetAttribute(elem, &size_str, &val_str);
nsISelection_GetRangeAt(nsselection, 0, &range); nsISelection_GetRangeAt(nsselection, 0, &range);
@ -389,6 +387,7 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
nsISelection_SelectAllChildren(nsselection, (nsIDOMNode*)elem); nsISelection_SelectAllChildren(nsselection, (nsIDOMNode*)elem);
} }
nsISelection_Release(nsselection);
nsIDOMRange_Release(range); nsIDOMRange_Release(range);
nsIDOMElement_Release(elem); nsIDOMElement_Release(elem);
@ -396,9 +395,6 @@ static void set_font_size(HTMLDocument *This, LPCWSTR size)
nsAString_Finish(&size_str); nsAString_Finish(&size_str);
nsAString_Finish(&val_str); nsAString_Finish(&val_str);
nsISelection_Release(nsselection);
nsIDOMDocument_Release(nsdoc);
set_dirty(This, VARIANT_TRUE); set_dirty(This, VARIANT_TRUE);
} }