OSDN Git Service

異常終了時に設定を保存しない
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 27 Jan 2018 08:41:19 +0000 (17:41 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Sat, 27 Jan 2018 11:47:42 +0000 (20:47 +0900)
KancolleSniffer/MainForm.cs
KancolleSniffer/ProxyManager.cs

index ed6051e..f9365a2 100644 (file)
@@ -160,28 +160,34 @@ namespace KancolleSniffer
                 if (_errorDialog.ShowDialog(this,\r
                         "艦これに仕様変更があったか、受信内容が壊れています。",\r
                         _errorLog.GenerateErrorLog(url, request, response, e.ToString())) == DialogResult.Abort)\r
-                    Application.Exit();\r
+                    Exit();\r
             }\r
             catch (LogIOException e)\r
             {\r
                 // ReSharper disable once PossibleNullReferenceException\r
                 if (_errorDialog.ShowDialog(this, e.Message, e.InnerException.ToString()) == DialogResult.Abort)\r
-                    Application.Exit();\r
+                    Exit();\r
             }\r
             catch (BattleResultError)\r
             {\r
                 if (_errorDialog.ShowDialog(this, "戦闘結果の計算に誤りがあります。",\r
                         _errorLog.GenerateBattleErrorLog()) == DialogResult.Abort)\r
-                    Application.Exit();\r
+                    Exit();\r
             }\r
             catch (Exception e)\r
             {\r
                 if (_errorDialog.ShowDialog(this, "エラーが発生しました。",\r
                         _errorLog.GenerateErrorLog(url, request, response, e.ToString())) == DialogResult.Abort)\r
-                    Application.Exit();\r
+                    Exit();\r
             }\r
         }\r
 \r
+        private void Exit()\r
+        {\r
+            _proxyManager.Shutdown();\r
+            Environment.Exit(1);\r
+        }\r
+\r
         private void WriteDebugLog(string url, string request, string response)\r
         {\r
             if (_debugLogFile != null)\r
index 275329f..283564d 100644 (file)
@@ -155,7 +155,8 @@ namespace KancolleSniffer
                     MessageBoxIcon.Error))\r
                 {\r
                     case DialogResult.Abort:\r
-                        Application.Exit();\r
+                        Shutdown();\r
+                        Environment.Exit(1);\r
                         break;\r
                     case DialogResult.Ignore:\r
                         return;\r