statusicon: add lock. attempt to fix #1130
This commit is contained in:
parent
4be9ebe895
commit
72beb68a4c
|
@ -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]);
|
||||
|
|
|
@ -248,39 +248,43 @@ namespace SparkleShare {
|
|||
}
|
||||
|
||||
|
||||
private Object folders_lock = new Object ();
|
||||
|
||||
private void UpdateFolders ()
|
||||
{
|
||||
List<string> folders = new List<string> ();
|
||||
List<string> folder_errors = new List<string> ();
|
||||
lock (this.folders_lock) {
|
||||
List<string> folders = new List<string> ();
|
||||
List<string> folder_errors = new List<string> ();
|
||||
|
||||
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 ();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue