diff options
-rw-r--r-- | src/mbgl/map/map.cpp | 4 | ||||
-rw-r--r-- | test/map/map.test.cpp | 26 |
2 files changed, 28 insertions, 2 deletions
diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 37442770fa..d52315d19c 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -238,8 +238,8 @@ void Map::Impl::render(View& view) { transform.getState(), style->impl->getGlyphURL(), style->impl->spriteLoaded, - style->getTransitionOptions(), - style->getLight()->impl, + style->impl->getTransitionOptions(), + style->impl->getLight()->impl, style->impl->getImageImpls(), style->impl->getSourceImpls(), style->impl->getLayerImpls(), diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp index bed46f2c3e..a820590fb4 100644 --- a/test/map/map.test.cpp +++ b/test/map/map.test.cpp @@ -280,6 +280,32 @@ TEST(Map, StyleExpiredWithAnnotations) { EXPECT_EQ(1u, fileSource.requests.size()); } +TEST(Map, StyleExpiredWithRender) { + // Rendering should not prevent revalidation of an expired style. + + using namespace std::chrono_literals; + + MapTest test; + FakeFileSource fileSource; + + Map map(test.backend, test.view.getSize(), 1, fileSource, test.threadPool, MapMode::Still); + map.getStyle().loadURL("mapbox://styles/test"); + EXPECT_EQ(1u, fileSource.requests.size()); + + Response response; + response.data = std::make_shared<std::string>(util::read_file("test/fixtures/api/empty.json")); + response.expires = util::now() - 1h; + + fileSource.respond(Resource::Style, response); + EXPECT_EQ(1u, fileSource.requests.size()); + + map.render(test.view); + EXPECT_EQ(1u, fileSource.requests.size()); + + fileSource.respond(Resource::Style, response); + EXPECT_EQ(1u, fileSource.requests.size()); +} + TEST(Map, StyleEarlyMutation) { // An early mutation should not prevent the initial style load. |