From 15eb823c7f36e88b2eff4d25de7e43b11efbcdef Mon Sep 17 00:00:00 2001
From: chylex <contact@chylex.com>
Date: Thu, 19 Oct 2017 00:24:40 +0200
Subject: [PATCH] Replace OpenExternalBrowserUnsafe with the new
 OpenAssociatedProgram

---
 Core/Other/FormAbout.cs                              | 2 +-
 Core/Other/Settings/Dialogs/DialogSettingsCSS.cs     | 2 +-
 Core/Other/Settings/Dialogs/DialogSettingsCefArgs.cs | 2 +-
 Core/Other/Settings/TabSettingsFeedback.cs           | 4 ++--
 Core/Utils/BrowserUtils.cs                           | 8 ++------
 Updates/FormUpdateDownload.cs                        | 2 +-
 6 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/Core/Other/FormAbout.cs b/Core/Other/FormAbout.cs
index bbe0f535..b66dc269 100644
--- a/Core/Other/FormAbout.cs
+++ b/Core/Other/FormAbout.cs
@@ -21,7 +21,7 @@ public FormAbout(){
         }
 
         private void OnLinkClicked(object sender, LinkLabelLinkClickedEventArgs e){
-            BrowserUtils.OpenExternalBrowserUnsafe(e.Link.LinkData as string);
+            BrowserUtils.OpenExternalBrowser(e.Link.LinkData as string);
         }
 
         private void FormAbout_HelpRequested(object sender, HelpEventArgs hlpevent){
diff --git a/Core/Other/Settings/Dialogs/DialogSettingsCSS.cs b/Core/Other/Settings/Dialogs/DialogSettingsCSS.cs
index e42e669a..bf87ac1d 100644
--- a/Core/Other/Settings/Dialogs/DialogSettingsCSS.cs
+++ b/Core/Other/Settings/Dialogs/DialogSettingsCSS.cs
@@ -35,7 +35,7 @@ private void timerTestBrowser_Tick(object sender, EventArgs e){
         }
 
         private void btnOpenWiki_Click(object sender, EventArgs e){
-            BrowserUtils.OpenExternalBrowserUnsafe("https://github.com/chylex/TweetDuck/wiki");
+            BrowserUtils.OpenExternalBrowser("https://github.com/chylex/TweetDuck/wiki");
         }
 
         private void btnApply_Click(object sender, EventArgs e){
diff --git a/Core/Other/Settings/Dialogs/DialogSettingsCefArgs.cs b/Core/Other/Settings/Dialogs/DialogSettingsCefArgs.cs
index dbf143ae..578f48b1 100644
--- a/Core/Other/Settings/Dialogs/DialogSettingsCefArgs.cs
+++ b/Core/Other/Settings/Dialogs/DialogSettingsCefArgs.cs
@@ -19,7 +19,7 @@ public DialogSettingsCefArgs(){
         }
 
         private void btnHelp_Click(object sender, EventArgs e){
-            BrowserUtils.OpenExternalBrowserUnsafe("http://peter.sh/experiments/chromium-command-line-switches/");
+            BrowserUtils.OpenExternalBrowser("http://peter.sh/experiments/chromium-command-line-switches/");
         }
 
         private void btnApply_Click(object sender, EventArgs e){
diff --git a/Core/Other/Settings/TabSettingsFeedback.cs b/Core/Other/Settings/TabSettingsFeedback.cs
index 9c62fad8..e0bf74da 100644
--- a/Core/Other/Settings/TabSettingsFeedback.cs
+++ b/Core/Other/Settings/TabSettingsFeedback.cs
@@ -16,7 +16,7 @@ public override void OnReady(){
         }
 
         private void btnSendFeedback_Click(object sender, EventArgs e){
-            BrowserUtils.OpenExternalBrowserUnsafe("https://github.com/chylex/TweetDuck/issues/new");
+            BrowserUtils.OpenExternalBrowser("https://github.com/chylex/TweetDuck/issues/new");
         }
 
         private void checkDataCollection_CheckedChanged(object sender, EventArgs e){
@@ -24,7 +24,7 @@ private void checkDataCollection_CheckedChanged(object sender, EventArgs e){
         }
 
         private void labelDataCollectionLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e){
-            BrowserUtils.OpenExternalBrowserUnsafe("https://github.com/chylex/TweetDuck/wiki/Send-anonymous-data");
+            BrowserUtils.OpenExternalBrowser("https://github.com/chylex/TweetDuck/wiki/Send-anonymous-data");
         }
     }
 }
diff --git a/Core/Utils/BrowserUtils.cs b/Core/Utils/BrowserUtils.cs
index d879998a..ffabc543 100644
--- a/Core/Utils/BrowserUtils.cs
+++ b/Core/Utils/BrowserUtils.cs
@@ -70,12 +70,12 @@ public static void OpenExternalBrowser(string url){
 
             switch(CheckUrl(url)){
                 case UrlCheckResult.Fine:
-                    OpenExternalBrowserUnsafe(url);
+                    WindowsUtils.OpenAssociatedProgram(url);
                     break;
 
                 case UrlCheckResult.Tracking:
                     if (FormMessage.Warning("Blocked URL", "TweetDuck has blocked a tracking url due to privacy concerns. Do you want to visit it anyway?\n"+url, FormMessage.Yes, FormMessage.No)){
-                        OpenExternalBrowserUnsafe(url);
+                        WindowsUtils.OpenAssociatedProgram(url);
                     }
 
                     break;
@@ -86,10 +86,6 @@ public static void OpenExternalBrowser(string url){
             }
         }
 
-        public static void OpenExternalBrowserUnsafe(string url){
-            using(Process.Start(url)){}
-        }
-
         public static string GetFileNameFromUrl(string url){
             string file = Path.GetFileName(new Uri(url).AbsolutePath);
             return string.IsNullOrEmpty(file) ? null : file;
diff --git a/Updates/FormUpdateDownload.cs b/Updates/FormUpdateDownload.cs
index e2ad01ec..ab8de653 100644
--- a/Updates/FormUpdateDownload.cs
+++ b/Updates/FormUpdateDownload.cs
@@ -31,7 +31,7 @@ private void timerDownloadCheck_Tick(object sender, EventArgs e){
                 timerDownloadCheck.Stop();
 
                 if (FormMessage.Error("Update Has Failed", "Could not download the update: "+(updateInfo.DownloadError?.Message ?? "unknown error")+"\n\nDo you want to open the website and try downloading the update manually?", FormMessage.Yes, FormMessage.No)){
-                    BrowserUtils.OpenExternalBrowserUnsafe(Program.Website);
+                    BrowserUtils.OpenExternalBrowser(Program.Website);
                     DialogResult = DialogResult.OK;
                 }