From d31202c62b3f33b4432d253b816728ee83f8041b Mon Sep 17 00:00:00 2001 From: Kazuhiro Fujieda Date: Thu, 8 Feb 2018 21:32:37 +0900 Subject: [PATCH] =?utf8?q?=E3=83=97=E3=83=AD=E3=82=AD=E3=82=B7=E8=A8=AD?= =?utf8?q?=E5=AE=9A=E3=82=92=E5=BE=A9=E6=97=A7=E3=81=97=E3=81=AA=E3=81=84?= =?utf8?q?=E6=9D=A1=E4=BB=B6=E3=82=92=E7=B7=A9=E5=92=8C=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KancolleSniffer/SystemProxy.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/KancolleSniffer/SystemProxy.cs b/KancolleSniffer/SystemProxy.cs index d8cd87b..d49bfa1 100644 --- a/KancolleSniffer/SystemProxy.cs +++ b/KancolleSniffer/SystemProxy.cs @@ -22,7 +22,7 @@ namespace KancolleSniffer public class SystemProxy { private InternetPerConnOptionList _orgList; - private string _currentUrl; + private Uri _initialUri; private void SaveSettings() { @@ -54,7 +54,8 @@ namespace KancolleSniffer SaveSettings(); var flagValue = new InternetPerConnOptionValue {dwValue = (int)PerConnFlags.PROXY_TYPE_AUTO_PROXY_URL}; var urlValue = new InternetPerConnOptionValue {pszValue = Marshal.StringToHGlobalAuto(url)}; - _currentUrl = url; + if (_initialUri == null) + Uri.TryCreate(url, UriKind.Absolute, out _initialUri); var opts = new[] { new InternetPerConnOption {dwOption = PerConnOption.INTERNET_PER_CONN_FLAGS, Value = flagValue}, @@ -85,8 +86,8 @@ namespace KancolleSniffer var size = Marshal.SizeOf(typeof(InternetPerConnOption)); var urlOpt = (InternetPerConnOption) Marshal.PtrToStructure((IntPtr)((long)_orgList.pOptions + size), typeof(InternetPerConnOption)); - var orgUrl = Marshal.PtrToStringUni(urlOpt.Value.pszValue); - if (orgUrl == _currentUrl) // The restoration was sikipped or failed at last time. + Uri.TryCreate(Marshal.PtrToStringUni(urlOpt.Value.pszValue) ?? "", UriKind.Absolute, out var orgUri); + if (orgUri?.Authority == _initialUri?.Authority) // The restoration was sikipped or failed at last time. { // Unselect the Use automatic configration script check box. var flagsOpt = -- 2.11.0