From 29577f7645b191bc4be982b019c05448eb763f37 Mon Sep 17 00:00:00 2001 From: Tom MacWright Date: Thu, 24 Jan 2013 10:28:05 -0500 Subject: [PATCH] Fix loading inflight requests and clearing history when you switch sources --- js/id/connection.js | 2 ++ js/id/renderer/map.js | 1 + js/id/svg/labels.js | 16 ++++++++-------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/js/id/connection.js b/js/id/connection.js index 80ed49c26..c7edba521 100644 --- a/js/id/connection.js +++ b/js/id/connection.js @@ -292,6 +292,8 @@ iD.Connection = function() { connection.flush = function() { loadedTiles = {}; + _.forEach(inflight, abortRequest); + inflight = {}; return connection; }; diff --git a/js/id/renderer/map.js b/js/id/renderer/map.js index f283b6f40..1cbe6e6f1 100644 --- a/js/id/renderer/map.js +++ b/js/id/renderer/map.js @@ -300,6 +300,7 @@ iD.Map = function() { map.flush = function () { connection.flush(); + history.reset(); return map; }; diff --git a/js/id/svg/labels.js b/js/id/svg/labels.js index 6dcd3ec4c..d9574d21e 100644 --- a/js/id/svg/labels.js +++ b/js/id/svg/labels.js @@ -196,9 +196,9 @@ iD.svg.Labels = function(projection) { for (var i = 0; i < entities.length; i++) { var entity = entities[i]; if (!entity.tags.name) continue; - if (hidePoints && entity.geometry() === 'point') continue; + if (hidePoints && entity.geometry(graph) === 'point') continue; for (var k = 0; k < label_stack.length; k ++) { - if (entity.geometry() === label_stack[k][0] && + if (entity.geometry(graph) === label_stack[k][0] && entity.tags[label_stack[k][1]] && !entity.tags[label_stack[k][2]]) { labelable[k].push(entity); break; @@ -226,17 +226,17 @@ iD.svg.Labels = function(projection) { var entity = labelable[k][i], width = textWidth(entity.tags.name, font_size), p; - if (entity.geometry() === 'point') { + if (entity.geometry(graph) === 'point') { p = getPointLabel(entity, width, font_size); - } else if (entity.geometry() === 'line') { + } else if (entity.geometry(graph) === 'line') { p = getLineLabel(entity, width, font_size); - } else if (entity.geometry() === 'area') { + } else if (entity.geometry(graph) === 'area') { p = getAreaLabel(entity, width, font_size); } if (p) { - p.classes = entity.geometry() + ' tag-' + label_stack[k].slice(1).join('-'); - positions[entity.geometry()].push(p); - labelled[entity.geometry()].push(entity); + p.classes = entity.geometry(graph) + ' tag-' + label_stack[k].slice(1).join('-'); + positions[entity.geometry(graph)].push(p); + labelled[entity.geometry(graph)].push(entity); } } }