diff --git a/js/id/core/graph.js b/js/id/core/graph.js index 3252fc1c1..ce71c53aa 100644 --- a/js/id/core/graph.js +++ b/js/id/core/graph.js @@ -81,14 +81,12 @@ iD.Graph.prototype = { }, childNodes: function(entity) { - if (this._childNodes[entity.id]) - return this._childNodes[entity.id]; + if (this._childNodes[entity.id]) return this._childNodes[entity.id]; + if (!entity.nodes) return []; var nodes = []; - if (entity.nodes) { - for (var i = 0; i < entity.nodes.length; i++) { - nodes[i] = this.entity(entity.nodes[i]); - } + for (var i = 0; i < entity.nodes.length; i++) { + nodes[i] = this.entity(entity.nodes[i]); } if (iD.debug) Object.freeze(nodes); diff --git a/js/id/renderer/features.js b/js/id/renderer/features.js index 936a39303..e4ce089e5 100644 --- a/js/id/renderer/features.js +++ b/js/id/renderer/features.js @@ -378,7 +378,7 @@ iD.Features = function(context) { childNodes = [resolver.entity(entity.edge[0]), resolver.entity(entity.edge[1])]; connections = []; } else { - childNodes = resolver.childNodes(entity); + childNodes = entity.nodes ? resolver.childNodes(entity) : []; connections = features.getParents(entity, resolver, entity.geometry(resolver)); }