OSDN Git Service

ブラウザが起動していないときに、リンクをクリックすると例外を投げるバグを修正。
authorttp <ttp@users.sourceforge.jp>
Sun, 5 Apr 2009 11:22:10 +0000 (20:22 +0900)
committerttp <ttp@users.sourceforge.jp>
Sun, 5 Apr 2009 11:22:10 +0000 (20:22 +0900)
AppliStation/PackageInfoForm.cs
AppliStation/PackageListViewForm.cs

index 5452842..4aeb081 100644 (file)
@@ -263,7 +263,11 @@ namespace AppliStation
                                System.Diagnostics.Process.Start(e.Link.LinkData.ToString());\r
                        } else if (System.Text.RegularExpressions.Regex.IsMatch(linkData, @"^(https?|file)://")) {\r
                                e.Link.Visited = true;\r
-                               System.Diagnostics.Process.Start(linkData);\r
+                               try {\r
+                                       System.Diagnostics.Process.Start(e.Link.LinkData.ToString());\r
+                               } catch (System.ComponentModel.Win32Exception) {\r
+                                       MessageBox.Show(string.Format("{0}を開くのに失敗しました。", e.Link.LinkData), "ブラウザ起動エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+                               }\r
                        }\r
                }\r
        }\r
index 666c076..46da5ef 100644 (file)
@@ -313,7 +313,11 @@ namespace AppliStation
                {\r
                        if (System.Text.RegularExpressions.Regex.IsMatch(e.LinkText, "^https?://")){\r
                                /* URLの場合はブラウザ起動 */\r
-                               System.Diagnostics.Process.Start(e.LinkText);\r
+                               try {\r
+                                       System.Diagnostics.Process.Start(e.LinkText);\r
+                               } catch (System.ComponentModel.Win32Exception) {\r
+                                       MessageBox.Show(string.Format("{0}を開くのに失敗しました。", e.LinkText), "ブラウザ起動エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+                               }\r
                        } else {\r
                                /* それ以外はタグとみなして検索 */\r
                                searchTextBox.Text = e.LinkText;\r
@@ -519,7 +523,11 @@ namespace AppliStation
                                string linkURL = pkg.Url.Href;\r
                                \r
                                if (! (pkg == null || string.IsNullOrEmpty(linkURL))) {\r
-                                       System.Diagnostics.Process.Start(linkURL);\r
+                                       try {\r
+                                               System.Diagnostics.Process.Start(linkURL);\r
+                                       } catch (System.ComponentModel.Win32Exception) {\r
+                                               MessageBox.Show(string.Format("{0}を開くのに失敗しました。", linkURL), "ブラウザ起動エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+                                       }\r
                                }\r
                                break;\r
                        }\r
@@ -531,7 +539,11 @@ namespace AppliStation
                                string q = System.Web.HttpUtility.UrlEncode(pkg.Name, System.Text.Encoding.UTF8);\r
                                string googleURL = @"http://www.google.co.jp/search?q="+q;\r
                                \r
-                               System.Diagnostics.Process.Start(googleURL);\r
+                               try {\r
+                                       System.Diagnostics.Process.Start(googleURL);\r
+                               } catch (System.ComponentModel.Win32Exception) {\r
+                                       MessageBox.Show("Googleを開くのに失敗しました。", "ブラウザ起動エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+                               }\r
 \r
                                break;\r
                        }\r