From e40090b758794115e7335b4d3a09744d1a643e5a Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Mon, 18 Mar 2013 17:48:05 -0700 Subject: [PATCH] Fix circularize with > 12 vertices (fixes #1054) --- js/id/actions/circularize.js | 3 ++- test/spec/actions/circularize.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/js/id/actions/circularize.js b/js/id/actions/circularize.js index b74dfd976..4dcfc0a21 100644 --- a/js/id/actions/circularize.js +++ b/js/id/actions/circularize.js @@ -42,7 +42,8 @@ iD.actions.Circularize = function(wayId, projection, count) { } ids.push(ids[0]); - graph = graph.replace(way.update({nodes: ids})); + way = way.update({nodes: ids}); + graph = graph.replace(way); for (i = 0; i < nodes.length; i++) { graph.parentWays(nodes[i]).forEach(function(parent) { diff --git a/test/spec/actions/circularize.js b/test/spec/actions/circularize.js index 8215c2253..1b846c6f3 100644 --- a/test/spec/actions/circularize.js +++ b/test/spec/actions/circularize.js @@ -49,7 +49,8 @@ describe("iD.actions.Circularize", function () { 'b': iD.Node({id: 'b', loc: [2, 0]}), 'c': iD.Node({id: 'c', loc: [2, 2]}), 'd': iD.Node({id: 'd', loc: [0, 2]}), - '-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'd', 'a']}), + 'e': iD.Node({id: 'e', loc: [1, 1]}), + '-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'd', 'e', 'a']}), '=': iD.Way({id: '=', nodes: ['d']}) });