diff options
-rw-r--r-- | platform/default/src/mbgl/storage/online_file_source.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/platform/default/src/mbgl/storage/online_file_source.cpp b/platform/default/src/mbgl/storage/online_file_source.cpp index fce1c3e2b6..6d31049243 100644 --- a/platform/default/src/mbgl/storage/online_file_source.cpp +++ b/platform/default/src/mbgl/storage/online_file_source.cpp @@ -170,7 +170,15 @@ public: private: void networkIsReachableAgain() { - for (auto& request : allRequests) { + // Notify requests about network reachability in order of their priority. + std::vector<decltype(allRequests)::value_type> requests; + requests.reserve(allRequests.size()); + requests.insert(requests.end(), allRequests.begin(), allRequests.end()); + std::sort(requests.begin(), requests.end(), [](auto& a, auto& b) { + return a->resource.priority < b->resource.priority; + }); + + for (auto& request : requests) { request->networkIsReachableAgain(); } } |