diff --git a/OpenUtau.Core/SingerManager.cs b/OpenUtau.Core/SingerManager.cs index 382b08a61..708161375 100644 --- a/OpenUtau.Core/SingerManager.cs +++ b/OpenUtau.Core/SingerManager.cs @@ -119,7 +119,7 @@ public void ReleaseSingersNotInUse(UProject project) { var singersInUse = new HashSet(); foreach(var track in project.tracks){ var singer = track.Singer; - if(singer != null){ + if(singer != null && singer.Found && !singersInUse.Contains(singer)) { singersInUse.Add(singer); } } @@ -127,11 +127,10 @@ public void ReleaseSingersNotInUse(UProject project) { foreach(var singer in singersUsed){ if(!singersInUse.Contains(singer)){ singer.FreeMemory(); - singersUsed.Remove(singer); } } //Update singers used - singersUsed.UnionWith(singersInUse); + singersUsed = singersInUse; } } }