diff --git a/shadowsocks-csharp/View/ConfigForm.cs b/shadowsocks-csharp/View/ConfigForm.cs index 8d2b4781..d506e8a1 100755 --- a/shadowsocks-csharp/View/ConfigForm.cs +++ b/shadowsocks-csharp/View/ConfigForm.cs @@ -336,16 +336,13 @@ namespace Shadowsocks.View return; } - if (ServersListBox.SelectedIndex >= 0 && ServersListBox.SelectedIndex < _modifiedConfiguration.configs.Count) - { - Server selectedServer = _modifiedConfiguration.configs[ServersListBox.SelectedIndex]; - Server clone = (Server)selectedServer.Clone(); + Server selectedServer = controller.GetCurrentServer(); + Server clone = (Server)selectedServer.Clone(); - _modifiedConfiguration.configs.Add(clone); - LoadConfiguration(_modifiedConfiguration); - ServersListBox.SelectedIndex = _modifiedConfiguration.configs.Count - 1; - _lastSelectedIndex = ServersListBox.SelectedIndex; - } + _modifiedConfiguration.configs.Add(clone); + LoadConfiguration(_modifiedConfiguration); + ServersListBox.SelectedIndex = _modifiedConfiguration.configs.Count - 1; + _lastSelectedIndex = ServersListBox.SelectedIndex; } } }