diff --git a/FreeTubeSync/Model/Profile.cs b/FreeTubeSync/Model/Profile.cs index 22d7608..e07c324 100644 --- a/FreeTubeSync/Model/Profile.cs +++ b/FreeTubeSync/Model/Profile.cs @@ -18,6 +18,19 @@ public class Profile if (other.name != name) name = other.name; if (other.bgColor != bgColor) bgColor = other.bgColor; if (other.textColor != textColor) textColor = other.textColor; - if (other.subscriptions.Count != subscriptions.Count) subscriptions = other.subscriptions; + var remove = new List(); + foreach (var sub in subscriptions) + { + if (other.subscriptions.Any(x => x.id == sub.id)) continue; + remove.Add(sub); + } + subscriptions.RemoveAll(x => remove.Contains(x)); + remove.Clear(); + foreach (var sub in other.subscriptions) + { + if (subscriptions.Any(x => x.id == sub.id)) continue; + remove.Add(sub); + } + subscriptions.AddRange(remove); } } \ No newline at end of file