diff --git a/EmoTracker.Data/Packages/PackageManager.cs b/EmoTracker.Data/Packages/PackageManager.cs index e28e383..2e29b2e 100644 --- a/EmoTracker.Data/Packages/PackageManager.cs +++ b/EmoTracker.Data/Packages/PackageManager.cs @@ -8,6 +8,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; +using System.Linq; using System.Net; namespace EmoTracker.Data.Packages @@ -269,11 +270,11 @@ public bool UpdatesAvailable { get { - foreach (PackageRepository repository in Repositories) + foreach (PackageRepository repository in Repositories.ToList()) { - foreach (PackageRepositoryEntry entry in repository.Packages) + foreach (PackageRepositoryEntry entry in repository.Packages.ToList()) { - if (entry.Status == PackageRepositoryEntry.PackageStatus.UpdateAvailable) + if (entry != null && entry.Status == PackageRepositoryEntry.PackageStatus.UpdateAvailable) return true; } } @@ -286,11 +287,11 @@ public bool CurrentPackageHasUpdateAvailable { get { - foreach (PackageRepository repository in Repositories) + foreach (PackageRepository repository in Repositories.ToList()) { - foreach (PackageRepositoryEntry entry in repository.Packages) + foreach (PackageRepositoryEntry entry in repository.Packages.ToList()) { - if (entry.Status == PackageRepositoryEntry.PackageStatus.UpdateAvailable) + if (entry != null && entry.Status == PackageRepositoryEntry.PackageStatus.UpdateAvailable) { if (entry.ExistingPackage == Tracker.Instance.ActiveGamePackage) return true;