From 6d506ec6d49a0726c58b91188b54904a10c6370f Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Tue, 18 Jun 2013 14:21:07 -0700 Subject: [PATCH] Fix mutation of childNodes array --- js/id/core/graph.js | 2 ++ js/id/geo/multipolygon.js | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/js/id/core/graph.js b/js/id/core/graph.js index 5da30c957..790e30ed5 100644 --- a/js/id/core/graph.js +++ b/js/id/core/graph.js @@ -84,6 +84,8 @@ iD.Graph.prototype = { nodes[i] = this.entity(entity.nodes[i]); } + if (iD.debug) Object.freeze(nodes); + this._childNodes[entity.id] = nodes; return this._childNodes[entity.id]; }, diff --git a/js/id/geo/multipolygon.js b/js/id/geo/multipolygon.js index 761831ec2..75ec6a3e2 100644 --- a/js/id/geo/multipolygon.js +++ b/js/id/geo/multipolygon.js @@ -87,7 +87,7 @@ iD.geo.joinWays = function(array, graph) { while (array.length) { member = array.shift(); current = [member]; - current.nodes = nodes = resolve(member); + current.nodes = nodes = resolve(member).slice(); joined.push(current); while (array.length && _.first(nodes) !== _.last(nodes)) {