diff --git a/Dalamud/Interface/Internal/Windows/DataWindow.cs b/Dalamud/Interface/Internal/Windows/DataWindow.cs index 678d9563a..16debd020 100644 --- a/Dalamud/Interface/Internal/Windows/DataWindow.cs +++ b/Dalamud/Interface/Internal/Windows/DataWindow.cs @@ -1308,6 +1308,43 @@ namespace Dalamud.Interface.Internal.Windows }); } + if (ImGui.Button("Drown in tasks")) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Task.Run(() => + { + for (var i = 0; i < 100; i++) + { + Thread.Sleep(1); + } + }); + } + }); + } + }); + } + }); + } + }); + } + + ImGui.SameLine(); + ImGuiHelpers.ScaledDummy(20); // Needed to init the task tracker, if we're not on a debug build diff --git a/Dalamud/Logging/Internal/TaskTracker.cs b/Dalamud/Logging/Internal/TaskTracker.cs index 3526d273f..6ee6148f3 100644 --- a/Dalamud/Logging/Internal/TaskTracker.cs +++ b/Dalamud/Logging/Internal/TaskTracker.cs @@ -33,7 +33,7 @@ namespace Dalamud.Logging.Internal /// /// Gets a read-only list of tracked tasks. /// - public static IReadOnlyList Tasks => TrackedTasksInternal; + public static IReadOnlyList Tasks => TrackedTasksInternal.ToArray(); /// /// Clear the list of tracked tasks.