Browse Source

Bug fix: wrong server in tray menu as selected server when there has an invalid server in the list

Fix #2782
tags/4.1.9.3
celeron533 5 years ago
parent
commit
95f4e0ae1a
1 changed files with 8 additions and 8 deletions
  1. +8
    -8
      shadowsocks-csharp/View/MenuViewController.cs

+ 8
- 8
shadowsocks-csharp/View/MenuViewController.cs View File

@@ -454,30 +454,30 @@ namespace Shadowsocks.View
{
items.RemoveAt(0);
}
int i = 0;
int strategyCount = 0;
foreach (var strategy in controller.GetStrategies())
{
MenuItem item = new MenuItem(strategy.Name);
item.Tag = strategy.ID;
item.Click += AStrategyItem_Click;
items.Add(i, item);
i++;
items.Add(strategyCount, item);
strategyCount++;
}
// user wants a seperator item between strategy and servers menugroup
items.Add(i++, new MenuItem("-"));
items.Add(strategyCount++, new MenuItem("-"));
int strategyCount = i;
int serverCount = 0;
Configuration configuration = controller.GetConfigurationCopy();
foreach (var server in configuration.configs)
{
if (Configuration.ChecksServer(server))
{
MenuItem item = new MenuItem(server.FriendlyName());
item.Tag = i - strategyCount;
item.Tag = configuration.configs.FindIndex(s => s == server);
item.Click += AServerItem_Click;
items.Add(i, item);
i++;
items.Add(strategyCount + serverCount, item);
serverCount++;
}
}


Loading…
Cancel
Save