cancel download on visibility change

This commit is contained in:
rootdarkarchon
2023-06-27 18:47:18 +02:00
parent 973a378979
commit 222e8bb888

View File

@@ -420,6 +420,8 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase
{ {
IsVisible = false; IsVisible = false;
_charaHandler?.Invalidate(); _charaHandler?.Invalidate();
_downloadCancellationTokenSource?.CancelDispose();
_downloadCancellationTokenSource = null;
MediatorUnsubscribeFromCharacterChanged(); MediatorUnsubscribeFromCharacterChanged();
Logger.LogTrace("{this} visibility changed, now: {visi}", this, IsVisible); Logger.LogTrace("{this} visibility changed, now: {visi}", this, IsVisible);
} }
@@ -453,7 +455,7 @@ public sealed class PairHandler : DisposableMediatorSubscriberBase
_redrawCts.CancelAfter(TimeSpan.FromSeconds(30)); _redrawCts.CancelAfter(TimeSpan.FromSeconds(30));
var token = _redrawCts.Token; var token = _redrawCts.Token;
Task.Run(async () => _ = Task.Run(async () =>
{ {
var applicationId = Guid.NewGuid(); var applicationId = Guid.NewGuid();
await _dalamudUtil.WaitWhileCharacterIsDrawing(Logger, _charaHandler!, applicationId, ct: token).ConfigureAwait(false); await _dalamudUtil.WaitWhileCharacterIsDrawing(Logger, _charaHandler!, applicationId, ct: token).ConfigureAwait(false);