From 2b1bb1dc4a840a139e5f7823fea0641f7a7c91f8 Mon Sep 17 00:00:00 2001 From: Mikhail Pozdnyakov Date: Thu, 27 Feb 2020 15:16:35 +0200 Subject: [PATCH] [core][offline] Offline download does not hang on 404 error --- platform/default/src/mbgl/storage/offline_download.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/platform/default/src/mbgl/storage/offline_download.cpp b/platform/default/src/mbgl/storage/offline_download.cpp index 89fd100aa..e1413b61b 100644 --- a/platform/default/src/mbgl/storage/offline_download.cpp +++ b/platform/default/src/mbgl/storage/offline_download.cpp @@ -484,6 +484,13 @@ void OfflineDownload::ensureResource(Resource&& resource, *fileRequestsIt = onlineFileSource.request(resource, [=](Response onlineResponse) { if (onlineResponse.error) { observer->responseError(*onlineResponse.error); + if (onlineResponse.error->reason == Response::Error::Reason::NotFound) { + // On error 404, we skip this request and go further. + requests.erase(fileRequestsIt); + assert(status.requiredResourceCount > 0); + status.requiredResourceCount--; + continueDownload(); + } return; }