From 24b124e5368aa89798e5a2c971c6a47f38089867 Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Tue, 16 Jun 2020 10:24:42 -0400 Subject: [PATCH] Fix infinite recursion error caused when rendering cyclical relations (close #7691) --- modules/svg/vertices.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/svg/vertices.js b/modules/svg/vertices.js index d7cd23ee4..27aa49148 100644 --- a/modules/svg/vertices.js +++ b/modules/svg/vertices.js @@ -300,7 +300,14 @@ export function svgVertices(projection, context) { function getSiblingAndChildVertices(ids, graph, wireframe, zoom) { var results = {}; + var seenIds = {}; + function addChildVertices(entity) { + + // avoid redunant work and infinite recursion of circular relations + if (seenIds[entity.id]) return; + seenIds[entity.id] = true; + var geometry = entity.geometry(graph); if (!context.features().isHiddenFeature(entity, graph, geometry)) { var i;