Module: wine Branch: master Commit: 203c47e60470812dce2d619bb856a61d9cc2a535 URL: http://source.winehq.org/git/wine.git/?a=commit;h=203c47e60470812dce2d619bb8...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Feb 25 12:59:20 2015 +0100
mshtml: Correctly handle S_OK with NULL URL return from TranslateUrl.
---
dlls/mshtml/navigate.c | 2 +- dlls/mshtml/tests/htmldoc.c | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c index c2d4603..39e2733 100644 --- a/dlls/mshtml/navigate.c +++ b/dlls/mshtml/navigate.c @@ -2324,7 +2324,7 @@ static HRESULT translate_uri(HTMLOuterWindow *window, IUri *orig_uri, BSTR *ret_
hres = IDocHostUIHandler_TranslateUrl(window->doc_obj->hostui, 0, display_uri, &translated_url); - if(hres == S_OK) { + if(hres == S_OK && translated_url) { TRACE("%08x %s -> %s\n", hres, debugstr_w(display_uri), debugstr_w(translated_url)); SysFreeString(display_uri); hres = create_uri(translated_url, 0, &uri); diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c index 3b332d1..33f4696 100644 --- a/dlls/mshtml/tests/htmldoc.c +++ b/dlls/mshtml/tests/htmldoc.c @@ -2614,6 +2614,12 @@ static HRESULT WINAPI DocHostUIHandler_TranslateUrl(IDocHostUIHandler2 *iface, D ok(ppchURLOut != NULL, "ppchURLOut == NULL\n"); ok(!*ppchURLOut, "*ppchURLOut = %p\n", *ppchURLOut);
+ /* Not related to hash navigation, just return NULL and S_OK in some cases. */ + if(loading_hash) { + *ppchURLOut = NULL; + return S_OK; + } + return S_FALSE; }