X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/00aa89f498450110d0d87686e6e472fd4fc7af18..6086bcc8ba1d46f5079bf40a61c8411e4b66fe9f:/src/common/utilscmn.cpp diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index 02befc3f43..afcfa394dd 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -1001,8 +1001,7 @@ static bool DoLaunchDefaultBrowserHelper(const wxString& urlOrig, int flags) // this check is useful to avoid that wxURI recognizes as scheme parts of // the filename, in case urlOrig is a local filename // (e.g. "C:\\test.txt" when parsed by wxURI reports a scheme == "C") - bool hasValidScheme = uri.HasScheme() && - (uri.GetScheme() == "http" || uri.GetScheme() == "file"); + bool hasValidScheme = uri.HasScheme() && uri.GetScheme().length() > 1; #if defined(__WXMSW__) @@ -1011,10 +1010,14 @@ static bool DoLaunchDefaultBrowserHelper(const wxString& urlOrig, int flags) // // for (int i=0; i<2; i++) // { + // // test arguments without a valid URL scheme: // wxLaunchDefaultBrowser("C:\\test.txt", i==0 ? 0 : wxBROWSER_NEW_WINDOW); // wxLaunchDefaultBrowser("wxwidgets.org", i==0 ? 0 : wxBROWSER_NEW_WINDOW); + // + // // test arguments with different valid schemes: // wxLaunchDefaultBrowser("file:/C%3A/test.txt", i==0 ? 0 : wxBROWSER_NEW_WINDOW); // wxLaunchDefaultBrowser("http://wxwidgets.org", i==0 ? 0 : wxBROWSER_NEW_WINDOW); + // wxLaunchDefaultBrowser("mailto:user@host.org", i==0 ? 0 : wxBROWSER_NEW_WINDOW); // } // (assuming you have a C:\test.txt file) @@ -1040,7 +1043,7 @@ static bool DoLaunchDefaultBrowserHelper(const wxString& urlOrig, int flags) // TODO: extract URLToFileName() to some always compiled in // function #if wxUSE_FILESYSTEM - // ShellExecuteEx() doesn't like the "file" scheme when opening local files; + // ShellExecuteEx() doesn't like the "file" scheme when opening local files; // remove it url = wxFileSystem::URLToFileName(url).GetFullPath(); #endif // wxUSE_FILESYSTEM