OSDN Git Service

上流プロキシの変更時にプロキシを再起動しない
authorKazuhiro Fujieda <fujieda@users.osdn.me>
Sun, 13 Sep 2015 12:26:26 +0000 (21:26 +0900)
committerKazuhiro Fujieda <fujieda@users.osdn.me>
Fri, 18 Sep 2015 14:37:23 +0000 (23:37 +0900)
KancolleSniffer/Config.cs
KancolleSniffer/MainForm.cs

index 217504e..c4a15e1 100644 (file)
@@ -41,8 +41,6 @@ namespace KancolleSniffer
             UseUpstream = false;\r
             UpstreamPort = 8888;\r
         }\r
-\r
-        public ProxyConfig Clone() => (ProxyConfig)MemberwiseClone();\r
     }\r
 \r
     public class ShipListConfig\r
index 1f07af8..b06667b 100644 (file)
@@ -50,7 +50,7 @@ namespace KancolleSniffer
         private string _debugLogFile;\r
         private IEnumerator<string> _playLog;\r
         private LogServer _logServer;\r
-        private ProxyConfig _prevProxy;\r
+        private int _prevProxyPort;\r
         private readonly SystemProxy _systemProxy = new SystemProxy();\r
 \r
         public MainForm()\r
@@ -133,7 +133,6 @@ namespace KancolleSniffer
         private void MainForm_Load(object sender, EventArgs e)\r
         {\r
             _config.Load();\r
-            _prevProxy = _config.Proxy.Clone();\r
             RestoreLocation();\r
             if (_config.HideOnMinimized && WindowState == FormWindowState.Minimized)\r
                 ShowInTaskbar = false;\r
@@ -226,10 +225,14 @@ namespace KancolleSniffer
         {\r
             if (!_config.Proxy.Auto)\r
                 _systemProxy.RestoreSettings();\r
+            if (_config.Proxy.UseUpstream)\r
+            {\r
+                HttpProxy.UpstreamProxyHost = "127.0.0.1";\r
+                HttpProxy.UpstreamProxyPort = _config.Proxy.UpstreamPort;\r
+            }\r
+            HttpProxy.IsEnableUpstreamProxy = _config.Proxy.UseUpstream;\r
             var result = true;\r
-            if (!HttpProxy.IsInListening || _config.Proxy.Listen != _prevProxy.Listen ||\r
-                _config.Proxy.UseUpstream != _prevProxy.UseUpstream ||\r
-                _config.Proxy.UpstreamPort != _prevProxy.UpstreamPort)\r
+            if (!HttpProxy.IsInListening || _config.Proxy.Listen != _prevProxyPort)\r
             {\r
                 ShutdownProxy();\r
                 result = StartProxy();\r
@@ -240,18 +243,12 @@ namespace KancolleSniffer
                     ? ProxyConfig.AutoConfigUrl\r
                     : ProxyConfig.AutoConfigUrlWithPort + HttpProxy.LocalPort);\r
             }\r
-            _prevProxy = _config.Proxy.Clone();\r
+            _prevProxyPort = _config.Proxy.Listen;\r
             return result;\r
         }\r
 \r
         private bool StartProxy()\r
         {\r
-            if (_config.Proxy.UseUpstream)\r
-            {\r
-                HttpProxy.UpstreamProxyHost = "127.0.0.1";\r
-                HttpProxy.UpstreamProxyPort = _config.Proxy.UpstreamPort;\r
-            }\r
-            HttpProxy.IsEnableUpstreamProxy = _config.Proxy.UseUpstream;\r
             try\r
             {\r
                 HttpProxy.Startup(_config.Proxy.Listen, false, false);\r