diff --git a/MapControl/Shared/TileImageLoader.cs b/MapControl/Shared/TileImageLoader.cs index 8d915aa6..be1c5748 100644 --- a/MapControl/Shared/TileImageLoader.cs +++ b/MapControl/Shared/TileImageLoader.cs @@ -102,10 +102,10 @@ namespace MapControl progress?.Report((double)(tileCount - pendingTiles.Count) / tileCount); + var requestCancellationToken = RequestCancellationEnabled ? cancellationToken : CancellationToken.None; + try { - var requestCancellationToken = RequestCancellationEnabled ? cancellationToken : CancellationToken.None; - await LoadTileImage(tile, tileSource, cacheName, requestCancellationToken).ConfigureAwait(false); } catch (Exception ex) @@ -126,12 +126,7 @@ namespace MapControl tasks[i] = Task.Run(LoadTilesFromQueueAsync, cancellationToken); } - if (!cancellationToken.IsCancellationRequested) - { - progress?.Report(0d); - - await Task.WhenAll(tasks); - } + await Task.WhenAll(tasks); } catch (OperationCanceledException) { @@ -140,7 +135,7 @@ namespace MapControl if (cancellationToken.IsCancellationRequested) { - Logger?.LogTrace("Cancelled LoadTilesAsync with {count} queued tiles", pendingTiles.Count); + Logger?.LogTrace("Cancelled LoadTilesAsync with {count} pending tiles", pendingTiles.Count); } } }