mshtml: Use stored nsdoc in createRange.

This commit is contained in:
Jacek Caban 2008-10-08 13:27:52 -05:00 committed by Alexandre Julliard
parent 7a74f5b5ae
commit e90386b27b
1 changed files with 4 additions and 11 deletions

View File

@ -150,23 +150,16 @@ static HRESULT WINAPI HTMLSelectionObject_createRange(IHTMLSelectionObject *ifac
nsISelection_GetRangeCount(This->nsselection, &nsrange_cnt);
if(!nsrange_cnt) {
nsIDOMDocument *nsdoc;
nsIDOMHTMLDocument *nshtmldoc;
nsIDOMHTMLElement *nsbody = NULL;
TRACE("nsrange_cnt = 0\n");
nsres = nsIWebNavigation_GetDocument(This->doc->nscontainer->navigation, &nsdoc);
if(NS_FAILED(nsres) || !nsdoc) {
ERR("GetDocument failed: %08x\n", nsres);
return E_FAIL;
if(!This->doc->nsdoc) {
WARN("nsdoc is NULL\n");
return E_UNEXPECTED;
}
nsIDOMDocument_QueryInterface(nsdoc, &IID_nsIDOMHTMLDocument, (void**)&nshtmldoc);
nsIDOMDocument_Release(nsdoc);
nsres = nsIDOMHTMLDocument_GetBody(nshtmldoc, &nsbody);
nsIDOMHTMLDocument_Release(nshtmldoc);
nsres = nsIDOMHTMLDocument_GetBody(This->doc->nsdoc, &nsbody);
if(NS_FAILED(nsres) || !nsbody) {
ERR("Could not get body: %08x\n", nsres);
return E_FAIL;