From 949b57d11884b5930eaec0c72d95918d7b67ee37 Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Wed, 1 May 2019 11:33:39 -0700 Subject: [PATCH] Ensure that relations are called before ways when categorizing fetched features (close #6277) --- modules/renderer/features.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/renderer/features.js b/modules/renderer/features.js index 281664471..ff4d26a3f 100644 --- a/modules/renderer/features.js +++ b/modules/renderer/features.js @@ -539,11 +539,14 @@ export function rendererFeatures(context) { // warm up the feature matching cache upon merging fetched data - context.history().on('merge.features', function(entities) { + context.history().on('merge.features', function(newEntities) { utilCallWhenIdle(function() { - if (!entities) return; + if (!newEntities) return; var graph = context.graph(); + var types = utilArrayGroupBy(newEntities, 'type'); + // ensure that getMatches is called on relations before ways + var entities = [].concat(types.relation || [], types.way || [], types.node || []); for (var i = 0; i < entities.length; i++) { var geometry = entities[i].geometry(graph); features.getMatches(entities[i], graph, geometry);