mirror of
https://github.com/ClemensFischer/XAML-Map-Control.git
synced 2025-12-06 07:12:04 +01:00
Update TileImageLoader.cs
This commit is contained in:
parent
f30d3603b2
commit
6f7b2ba611
|
|
@ -110,23 +110,26 @@ namespace MapControl
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool TryDequeueTile(out Tile tile)
|
|
||||||
{
|
|
||||||
lock (tileQueue)
|
|
||||||
{
|
|
||||||
if (tileQueue.TryDequeue(out tile))
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
taskCount--;
|
|
||||||
Logger?.LogDebug("Task count: {count}", taskCount);
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async Task LoadTilesFromQueue(TileSource tileSource, string cacheName, IProgress<double> progress)
|
private async Task LoadTilesFromQueue(TileSource tileSource, string cacheName, IProgress<double> progress)
|
||||||
{
|
{
|
||||||
|
bool TryDequeueTile(out Tile tile)
|
||||||
|
{
|
||||||
|
lock (tileQueue)
|
||||||
|
{
|
||||||
|
if (tileQueue.Count > 0)
|
||||||
|
{
|
||||||
|
tile = tileQueue.Dequeue();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
taskCount--;
|
||||||
|
Logger?.LogDebug("Task count: {count}", taskCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
tile = null;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
while (TryDequeueTile(out Tile tile))
|
while (TryDequeueTile(out Tile tile))
|
||||||
{
|
{
|
||||||
tile.IsPending = false;
|
tile.IsPending = false;
|
||||||
|
|
@ -218,15 +221,4 @@ namespace MapControl
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if NETFRAMEWORK
|
|
||||||
internal static class QueueExtension
|
|
||||||
{
|
|
||||||
public static bool TryDequeue<T>(this Queue<T> queue, out T item) where T : class
|
|
||||||
{
|
|
||||||
item = queue.Count > 0 ? queue.Dequeue() : null;
|
|
||||||
return item != null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue