Jacek Caban : shdocvw: Try to guess scheme for IHTMLPrivateWindow navigation too.

Alexandre Julliard julliard at winehq.org
Mon Jun 28 11:01:21 CDT 2010


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jun 28 12:52:03 2010 +0200

shdocvw: Try to guess scheme for IHTMLPrivateWindow navigation too.

---

 dlls/shdocvw/navigate.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/dlls/shdocvw/navigate.c b/dlls/shdocvw/navigate.c
index 99980c7..6d6cbb6 100644
--- a/dlls/shdocvw/navigate.c
+++ b/dlls/shdocvw/navigate.c
@@ -760,7 +760,23 @@ HRESULT navigate_url(DocHost *This, LPCWSTR url, const VARIANT *Flags,
     This->ready_state = READYSTATE_LOADING;
 
     if(This->doc_navigate) {
-        hres = async_doc_navigate(This, url, headers, post_data, post_data_len, TRUE);
+        WCHAR new_url[INTERNET_MAX_URL_LENGTH];
+
+        if(PathIsURLW(url)) {
+            new_url[0] = 0;
+        }else {
+            DWORD size;
+
+            size = sizeof(new_url)/sizeof(WCHAR);
+            hres = UrlApplySchemeW(url, new_url, &size, URL_APPLY_GUESSSCHEME);
+            if(FAILED(hres)) {
+                WARN("UrlApplyScheme failed: %08x\n", hres);
+                new_url[0] = 0;
+            }
+        }
+
+        hres = async_doc_navigate(This, *new_url ? new_url : url, headers, post_data,
+                post_data_len, TRUE);
     }else {
         task_navigate_bsc_t *task;
 




More information about the wine-cvs mailing list