fix keys iterator, stale widget saves

This commit is contained in:
Stewart Allen 2020-05-26 11:05:21 -04:00
commit 25398c61bd
2 changed files with 13 additions and 2 deletions

View file

@ -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);
}

View file

@ -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) {