]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/utilscmn.cpp
removed the strange __WXMSW__ test in AddFile(bitmap) -- why should this function...
[wxWidgets.git] / src / common / utilscmn.cpp
index 57f68bc3407b2a360ec3bca01a02827fad32ad26..24cd3374d38beeee795757a0ce102e65a991fe8a 100644 (file)
@@ -964,7 +964,7 @@ bool wxLaunchDefaultApplication(const wxString& document, int flags)
                                       (
                                         NULL,           // parent window
                                         _T("open"),
-                                        document,
+                                        document.wx_str(),
                                         NULL,           // parameters
                                         NULL,           // working directory
                                         SW_SHOWDEFAULT
@@ -1021,13 +1021,13 @@ static bool DoLaunchDefaultBrowser(const wxString& urlOrig, int flags)
             wxRegKey keyDDE(key, wxT("DDEExec"));
             if ( keyDDE.Exists() )
             {
-                const wxString ddeTopic = wxRegKey(keyDDE, wxT("topic"));
-
                 // we only know the syntax of WWW_OpenURL DDE request for IE,
                 // optimistically assume that all other browsers are compatible
                 // with it
+                static const wxChar *TOPIC_OPEN_URL = wxT("WWW_OpenURL");
                 wxString ddeCmd;
-                bool ok = ddeTopic == wxT("WWW_OpenURL");
+                wxRegKey keyTopic(keyDDE, wxT("topic"));
+                bool ok = keyTopic.Exists() && keyTopic == TOPIC_OPEN_URL;
                 if ( ok )
                 {
                     ddeCmd = keyDDE.QueryDefaultValue();
@@ -1040,7 +1040,7 @@ static bool DoLaunchDefaultBrowser(const wxString& urlOrig, int flags)
                     // in is -1 (meaning "current") by default, replace it with
                     // 0 which means "new" (see KB article 160957)
                     ok = ddeCmd.Replace(wxT("-1"), wxT("0"),
-                                        false /* only first occurence */) == 1;
+                                        false /* only first occurrence */) == 1;
                 }
 
                 if ( ok )
@@ -1056,7 +1056,7 @@ static bool DoLaunchDefaultBrowser(const wxString& urlOrig, int flags)
                     wxLogNull noLog;
 
                     const wxString ddeServer = wxRegKey(keyDDE, wxT("application"));
-                    if ( wxExecuteDDE(ddeServer, ddeTopic, ddeCmd) )
+                    if ( wxExecuteDDE(ddeServer, TOPIC_OPEN_URL, ddeCmd) )
                         return true;
 
                     // this is not necessarily an error: maybe browser is
@@ -1074,6 +1074,7 @@ static bool DoLaunchDefaultBrowser(const wxString& urlOrig, int flags)
     sei.lpFile = url.c_str();
     sei.lpVerb = _T("open");
     sei.nShow = SW_SHOWNORMAL;
+    sei.fMask = SEE_MASK_FLAG_NO_UI; // we give error message ourselves
 
     ::ShellExecuteEx(&sei);