From b19625cf42d739780ec1311b2928c50480fb73c3 Mon Sep 17 00:00:00 2001 From: Cellie Date: Sat, 7 Jun 2025 16:37:43 +0200 Subject: [PATCH] Zero-fill tile buffer on fetch failure to avoid ghosting --- src/OpenStreetMap-esp32.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/OpenStreetMap-esp32.cpp b/src/OpenStreetMap-esp32.cpp index b7cf2dc..5f1c575 100644 --- a/src/OpenStreetMap-esp32.cpp +++ b/src/OpenStreetMap-esp32.cpp @@ -477,7 +477,11 @@ void OpenStreetMap::tileFetcherTask(void *param) String result; if (!osm->fetchTile(*job.tile, job.x, job.y, job.z, result)) + { + const size_t tileByteCount = osm->currentProvider->tileSize * osm->currentProvider->tileSize * 2; + memset(job.tile->buffer, 0, tileByteCount); log_e("Tile fetch failed: %s", result.c_str()); + } else log_d("core %i fetched tile z=%u x=%lu, y=%lu in %lu ms", xPortGetCoreID(), job.z, job.x, job.y, millis() - startMS); --osm->pendingJobs;