diff --git a/SparkleShare/SparkleControllerBase.cs b/SparkleShare/SparkleControllerBase.cs index f03e1532..2c7ad33f 100644 --- a/SparkleShare/SparkleControllerBase.cs +++ b/SparkleShare/SparkleControllerBase.cs @@ -262,7 +262,7 @@ namespace SparkleShare { new Thread (() => { string keys_path = Path.GetDirectoryName (SparkleConfig.DefaultConfig.FullPath); - string key_file_name = DateTime.Now.ToString ("yyyy-MM-dd_HH\\hmm"); // TODO: move to undercore name for old keys + string key_file_name = DateTime.Now.ToString ("yyyy-MM-dd_HH\\hmm"); string [] key_pair = SparkleKeys.GenerateKeyPair (keys_path, key_file_name); SparkleKeys.ImportPrivateKey (key_pair [0]); diff --git a/SparkleShare/SparkleStatusIconController.cs b/SparkleShare/SparkleStatusIconController.cs index 936204c9..c36c1314 100755 --- a/SparkleShare/SparkleStatusIconController.cs +++ b/SparkleShare/SparkleStatusIconController.cs @@ -248,39 +248,43 @@ namespace SparkleShare { } + private Object folders_lock = new Object (); + private void UpdateFolders () { - List folders = new List (); - List folder_errors = new List (); + lock (this.folders_lock) { + List folders = new List (); + List folder_errors = new List (); - foreach (SparkleRepoBase repo in Program.Controller.Repositories) { - folders.Add (repo.Name); - - if (repo.Error == ErrorStatus.HostUnreachable) { - folder_errors.Add ("Can't reach the host"); + foreach (SparkleRepoBase repo in Program.Controller.Repositories) { + folders.Add (repo.Name); - } else if (repo.Error == ErrorStatus.HostIdentityChanged) { - folder_errors.Add ("The host's identity has changed"); - - } else if (repo.Error == ErrorStatus.AuthenticationFailed) { - folder_errors.Add ("Authentication failed"); - - } else if (repo.Error == ErrorStatus.DiskSpaceExceeded) { - folder_errors.Add ("Host is out of disk space"); - - } else if (repo.Error == ErrorStatus.LockedFiles) { - folder_errors.Add ("Some local files are locked or in use"); + if (repo.Error == ErrorStatus.HostUnreachable) { + folder_errors.Add ("Can't reach the host"); + + } else if (repo.Error == ErrorStatus.HostIdentityChanged) { + folder_errors.Add ("The host's identity has changed"); + + } else if (repo.Error == ErrorStatus.AuthenticationFailed) { + folder_errors.Add ("Authentication failed"); + + } else if (repo.Error == ErrorStatus.DiskSpaceExceeded) { + folder_errors.Add ("Host is out of disk space"); + + } else if (repo.Error == ErrorStatus.LockedFiles) { + folder_errors.Add ("Some local files are locked or in use"); - } else if (repo.Error == ErrorStatus.NotFound) { - folder_errors.Add ("Project doesn't exist on host"); - - } else { - folder_errors.Add (""); + } else if (repo.Error == ErrorStatus.NotFound) { + folder_errors.Add ("Project doesn't exist on host"); + + } else { + folder_errors.Add (""); + } } - } - Folders = folders.ToArray (); - FolderErrors = folder_errors.ToArray (); + Folders = folders.ToArray (); + FolderErrors = folder_errors.ToArray (); + } } } }