Jacek Caban : mshtml: Correctly handle S_OK with NULL URL return from TranslateUrl.

Alexandre Julliard julliard at wine.codeweavers.com
Wed Feb 25 09:57:01 CST 2015


Module: wine
Branch: master
Commit: 203c47e60470812dce2d619bb856a61d9cc2a535
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=203c47e60470812dce2d619bb856a61d9cc2a535

Author: Jacek Caban <jacek at 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;
 }
 




More information about the wine-cvs mailing list