Bug fix
Some checks failed
release Linux / build (Release) (push) Has been cancelled
release macOS / build (Release) (push) Has been cancelled
release Windows desktop (Avalonia UI) / build (Release) (push) Has been cancelled
release Windows / build (Release) (push) Has been cancelled

This commit is contained in:
2dust 2025-10-05 19:55:52 +08:00
parent 11343a30fd
commit 9c58fec8d4

View file

@ -186,6 +186,8 @@ public class ProfileGroupItemManager
visited.Add(indexId); visited.Add(indexId);
stack.Add(indexId); stack.Add(indexId);
try
{
Instance.TryGet(indexId, out var groupItem); Instance.TryGet(indexId, out var groupItem);
if (groupItem == null || groupItem.ChildItems.IsNullOrEmpty()) if (groupItem == null || groupItem.ChildItems.IsNullOrEmpty())
@ -196,6 +198,10 @@ public class ProfileGroupItemManager
var childIds = Utils.String2List(groupItem.ChildItems) var childIds = Utils.String2List(groupItem.ChildItems)
.Where(p => !string.IsNullOrEmpty(p)) .Where(p => !string.IsNullOrEmpty(p))
.ToList(); .ToList();
if (childIds == null)
{
return false;
}
foreach (var child in childIds) foreach (var child in childIds)
{ {
@ -205,9 +211,13 @@ public class ProfileGroupItemManager
} }
} }
stack.Remove(indexId);
return false; return false;
} }
finally
{
stack.Remove(indexId);
}
}
public static async Task<(List<ProfileItem> Items, ProfileGroupItem? Group)> GetChildProfileItems(string? indexId) public static async Task<(List<ProfileItem> Items, ProfileGroupItem? Group)> GetChildProfileItems(string? indexId)
{ {