From 85e2ac202fad83e3ddd1a06a9fc43cab5146b0f9 Mon Sep 17 00:00:00 2001 From: Andrew Chin Date: Fri, 13 Apr 2012 23:48:07 -0400 Subject: [PATCH] Fix overlay code so that overlays with no 'overlay' config are always displayed --- overviewer_core/data/js_src/views.js | 46 +++++++++++++++------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/overviewer_core/data/js_src/views.js b/overviewer_core/data/js_src/views.js index 21fbaac..ccff3bf 100644 --- a/overviewer_core/data/js_src/views.js +++ b/overviewer_core/data/js_src/views.js @@ -269,29 +269,31 @@ overviewer.views.OverlayControlView = Backbone.View.extend({ for (i in mapTypes) { var mt = mapTypes[i]; - if (mt.tiles.indexOf(currentTileSetPath)!=-1) { - this.addItem({label: mt.name, - name: mt.name, - mt: mt, - - action: function(this_item, checked) { - if (checked) { - overviewer.map.overlayMapTypes.push(this_item.mt); - } else { - var idx_to_delete = -1; - overviewer.map.overlayMapTypes.forEach(function(e, j) { - if (e == this_item.mt) { - idx_to_delete = j; - } - }); - if (idx_to_delete >= 0) { - overviewer.map.overlayMapTypes.removeAt(idx_to_delete); - } - } - - } - }) + // if this overlay specifies a list of valid tilesets, then skip over any invalid tilesets + if ((mt.tiles.length > 0) && (mt.tiles.indexOf(currentTileSetPath) ==-1)) { + continue; } + this.addItem({label: mt.name, + name: mt.name, + mt: mt, + + action: function(this_item, checked) { + if (checked) { + overviewer.map.overlayMapTypes.push(this_item.mt); + } else { + var idx_to_delete = -1; + overviewer.map.overlayMapTypes.forEach(function(e, j) { + if (e == this_item.mt) { + idx_to_delete = j; + } + }); + if (idx_to_delete >= 0) { + overviewer.map.overlayMapTypes.removeAt(idx_to_delete); + } + } + + } + }); }