diff --git a/js/kiri.js b/js/kiri.js index 10fd4827..bc1cf2b4 100644 --- a/js/kiri.js +++ b/js/kiri.js @@ -1520,6 +1520,14 @@ self.kiri.copyright = exports.COPYRIGHT; oldWidgets.forEach(function(wid) { Widget.deleteFromState(wid); }); + // eliminate dangling saved widgets + ODB.keys(keys => { + keys.forEach(key => { + if (newWidgets.indexOf(key.substring(8)) < 0) { + ODB.remove(key); + } + }) + }, "ws-save-" ,"ws-savf"); alert2("workspace saved", 1); } diff --git a/js/moto-db.js b/js/moto-db.js index e5e2acfd..82848f92 100644 --- a/js/moto-db.js +++ b/js/moto-db.js @@ -43,9 +43,12 @@ var gs_moto_db = exports; SP.keys = function(callback, lower, upper) { var out = []; this.iterate(function(k,v) { - if (k) out.push(k); + if (k === null) { + callback(out); + } else { + out.push(k); + } }, lower, upper, true); - callback(out); }; SP.iterate = function(callback, lower, upper, nullterm) {