diff --git a/package.json b/package.json index 0f571c3ddcf..266cb610600 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "lodash": "^4.16.4", "mapbox-gl-shaders": "mapbox/mapbox-gl-shaders#b51b85ffb8c512e228c36c5405293ce51d123519", "mapbox-gl-style-spec": "mapbox/mapbox-gl-style-spec#49e8b407bdbbe6f7c92dbcb56d3d51f425fc2653", - "mapbox-gl-test-suite": "mapbox/mapbox-gl-test-suite#9252ffc5108131704b5acf52d78258ac05687871", + "mapbox-gl-test-suite": "mapbox/mapbox-gl-test-suite#66397c8ee0426537d25e8d4cfcac134ca21a021b", "mkdirp": "^0.5.1", "node-cmake": "^1.2.1", "request": "^2.72.0", diff --git a/platform/node/test/suite_implementation.js b/platform/node/test/suite_implementation.js index 28c20683454..05b8113afb0 100644 --- a/platform/node/test/suite_implementation.js +++ b/platform/node/test/suite_implementation.js @@ -61,14 +61,9 @@ module.exports = function (style, options, callback) { callback(); } else if (operation[0] === 'wait') { - var wait = function () { - if (map.loaded()) { - applyOperations(operations.slice(1), callback); - } else { - map.render(options, wait); - } - }; - wait(); + map.render(options, function () { + applyOperations(operations.slice(1), callback); + }); } else { // Ensure that the next `map.render(options)` does not overwrite this change. diff --git a/src/mbgl/map/map.cpp b/src/mbgl/map/map.cpp index 7e7d0417b94..f94075a5191 100644 --- a/src/mbgl/map/map.cpp +++ b/src/mbgl/map/map.cpp @@ -253,10 +253,6 @@ void Map::Impl::update() { annotationManager->updateData(); } - if (updateFlags & Update::Layout) { - style->relayout(); - } - if (updateFlags & Update::Classes) { style->cascade(timePoint, mode); } @@ -265,6 +261,10 @@ void Map::Impl::update() { style->recalculate(transform.getZoom(), timePoint, mode); } + if (updateFlags & Update::Layout) { + style->relayout(); + } + style::UpdateParameters parameters(pixelRatio, debugOptions, transform.getState(), diff --git a/src/mbgl/style/source_impl.cpp b/src/mbgl/style/source_impl.cpp index 18954dbfaaa..149bf99f9df 100644 --- a/src/mbgl/style/source_impl.cpp +++ b/src/mbgl/style/source_impl.cpp @@ -141,8 +141,8 @@ void Source::Impl::updateTiles(const UpdateParameters& parameters) { if (type != SourceType::Annotations && cache.getSize() == 0) { size_t conservativeCacheSize = - ((float)parameters.transformState.getSize().width / util::tileSize) * - ((float)parameters.transformState.getSize().height / util::tileSize) * + std::max((float)parameters.transformState.getSize().width / util::tileSize, 1.0f) * + std::max((float)parameters.transformState.getSize().height / util::tileSize, 1.0f) * (parameters.transformState.getMaxZoom() - parameters.transformState.getMinZoom() + 1) * 0.5; cache.setSize(conservativeCacheSize);