bug fixes

pull/695/head
YFdyh000 2020-04-18 11:12:09 +08:00
parent 9538a67be1
commit b1773dab90
3 changed files with 20 additions and 9 deletions

View File

@ -41,7 +41,7 @@ namespace v2rayN.Base
listener.Start(); listener.Start();
Utils.SaveLog("WebserverB running..."); Utils.SaveLog("WebserverB running...");
while (true) while (true && listener != null)
{ {
if (!listener.Pending()) if (!listener.Pending())
{ {

View File

@ -163,7 +163,6 @@
this.lvServers.HideSelection = false; this.lvServers.HideSelection = false;
this.lvServers.Items.AddRange(new System.Windows.Forms.ListViewItem[] { this.lvServers.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
((System.Windows.Forms.ListViewItem)(resources.GetObject("lvServers.Items")))}); ((System.Windows.Forms.ListViewItem)(resources.GetObject("lvServers.Items")))});
this.lvServers.MultiSelect = false;
this.lvServers.Name = "lvServers"; this.lvServers.Name = "lvServers";
this.lvServers.UseCompatibleStateImageBehavior = false; this.lvServers.UseCompatibleStateImageBehavior = false;
this.lvServers.View = System.Windows.Forms.View.Details; this.lvServers.View = System.Windows.Forms.View.Details;

View File

@ -445,12 +445,19 @@ namespace v2rayN.Forms
/// </summary> /// </summary>
private void Closes() private void Closes()
{ {
//ConfigHandler.SaveConfig(ref config, false); // ChangePACButtonStatus does it. List<Task> tasks = new List<Task>
Task.Run(() => ChangePACButtonStatus(ListenerType.noHttpProxy)); {
Task.Run(() => v2rayHandler.V2rayStop()); Task.Run(() => ConfigHandler.SaveConfig(ref config)),
Task.Run(() => PACServerHandle.Stop()); Task.Run(() => HttpProxyHandle.CloseHttpAgent(config)),
statistics?.SaveToFile(); Task.Run(() => v2rayHandler.V2rayStop()),
statistics?.Close(); Task.Run(() => PACServerHandle.Stop()),
Task.Run(() =>
{
statistics?.SaveToFile();
statistics?.Close();
})
};
Task.WaitAll(tasks.ToArray());
} }
#endregion #endregion
@ -1130,6 +1137,7 @@ namespace v2rayN.Forms
int index = statistics.FindIndex(item_ => item_.itemId == config.vmess[i].getItemId()); int index = statistics.FindIndex(item_ => item_.itemId == config.vmess[i].getItemId());
if (index != -1) if (index != -1)
{ {
if (lvServers == null) return; // The app is exiting.
lvServers.Invoke((MethodInvoker)delegate lvServers.Invoke((MethodInvoker)delegate
{ {
lvServers.BeginUpdate(); lvServers.BeginUpdate();
@ -1259,7 +1267,11 @@ namespace v2rayN.Forms
Global.reloadV2ray = false; Global.reloadV2ray = false;
ConfigHandler.SaveConfig(ref config); ConfigHandler.SaveConfig(ref config);
DisplayToolStatus();
this.Invoke((MethodInvoker)(delegate
{
DisplayToolStatus();
}));
} }
#endregion #endregion