From 68f7dfe0d788d9b308252ffca33d5dae20bcc288 Mon Sep 17 00:00:00 2001 From: ClemensFischer Date: Mon, 25 Aug 2025 21:48:38 +0200 Subject: [PATCH] Update TileImageLoader.cs --- MapControl/Shared/TileImageLoader.cs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/MapControl/Shared/TileImageLoader.cs b/MapControl/Shared/TileImageLoader.cs index 6e62253e..883e6d1e 100644 --- a/MapControl/Shared/TileImageLoader.cs +++ b/MapControl/Shared/TileImageLoader.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Runtime.CompilerServices; using System.Threading.Tasks; #if WPF using System.Windows.Media; @@ -123,14 +124,13 @@ namespace MapControl lock (tileQueue) { - if (tileQueue.Count == 0) + if (!tileQueue.TryDequeue(out tile)) { taskCount--; Logger?.LogDebug("Task count: {count}", taskCount); break; } - tile = tileQueue.Dequeue(); tileNumber = tileCount - tileQueue.Count; } @@ -233,4 +233,15 @@ namespace MapControl return buffer; } } + +#if NETFRAMEWORK + internal static class QueueExt + { + public static bool TryDequeue(this Queue queue, out T item) where T : class + { + item = queue.Count > 0 ? queue.Dequeue() : null; + return item != null; + } + } +#endif }