diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index f75ea4b9528..9eea254277f 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -417,18 +417,15 @@ static HRESULT WINAPI HTMLDocument_get_designMode(IHTMLDocument2 *iface, BSTR *p static HRESULT WINAPI HTMLDocument_get_selection(IHTMLDocument2 *iface, IHTMLSelectionObject **p) { HTMLDocument *This = HTMLDOC_THIS(iface); - nsISelection *nsselection = NULL; + nsISelection *nsselection; + nsresult nsres; TRACE("(%p)->(%p)\n", This, p); - if(This->nscontainer) { - nsIDOMWindow *dom_window = NULL; - - nsIWebBrowser_GetContentDOMWindow(This->nscontainer->webbrowser, &dom_window); - if(dom_window) { - nsIDOMWindow_GetSelection(dom_window, &nsselection); - nsIDOMWindow_Release(dom_window); - } + nsres = nsIDOMWindow_GetSelection(This->window->nswindow, &nsselection); + if(NS_FAILED(nsres)) { + ERR("GetSelection failed: %08x\n", nsres); + return E_FAIL; } *p = HTMLSelectionObject_Create(This, nsselection);