Module: wine Branch: master Commit: 70a964d4f9e194cddb44c10f3791c69b13a59346 URL: https://source.winehq.org/git/wine.git/?a=commit;h=70a964d4f9e194cddb44c10f3...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Mar 14 14:13:36 2019 +0100
mshtml: Access document object via browser object in IBindCallbackRedirect::Redirect.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/mshtml/navigate.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index 4715cbc..49549b9 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -590,22 +590,22 @@ static ULONG WINAPI BindCallbackRedirect_Release(IBindCallbackRedirect *iface) static HRESULT WINAPI BindCallbackRedirect_Redirect(IBindCallbackRedirect *iface, const WCHAR *url, VARIANT_BOOL *vbCancel) { BSCallback *This = impl_from_IBindCallbackRedirect(iface); - HTMLDocumentObj *doc_obj; + GeckoBrowser *browser; BOOL cancel = FALSE; BSTR frame_name = NULL; HRESULT hres = S_OK;
TRACE("(%p)->(%s %p)\n", This, debugstr_w(url), vbCancel);
- if(This->window && This->window->base.outer_window && (doc_obj = This->window->base.outer_window->doc_obj) - && doc_obj->doc_object_service) { - if(This->window->base.outer_window != doc_obj->basedoc.window) { + if(This->window && This->window->base.outer_window && (browser = This->window->base.outer_window->browser) + && browser->doc->doc_object_service) { + if(is_main_content_window(This->window->base.outer_window)) { hres = IHTMLWindow2_get_name(&This->window->base.IHTMLWindow2_iface, &frame_name); if(FAILED(hres)) return hres; }
- hres = IDocObjectService_FireBeforeNavigate2(doc_obj->doc_object_service, NULL, url, 0x40, + hres = IDocObjectService_FireBeforeNavigate2(browser->doc->doc_object_service, NULL, url, 0x40, frame_name, NULL, 0, NULL, TRUE, &cancel); SysFreeString(frame_name); }