This commit is contained in:
Jon Atkins 2014-11-17 16:25:49 +00:00
commit c3bc255691

View File

@ -119,7 +119,9 @@ window.plugin.sync.RegisteredMap.prototype.updateMap = function(keyArray) {
var _this = this; var _this = this;
// Use compound operation to ensure update pushed as a batch // Use compound operation to ensure update pushed as a batch
this.model.beginCompoundOperation(); this.model.beginCompoundOperation();
try {
// Remove before set text to ensure full text change // Remove before set text to ensure full text change
if (this.lastUpdateUUID.length > 0)
this.lastUpdateUUID.removeRange(0, this.lastUpdateUUID.length); this.lastUpdateUUID.removeRange(0, this.lastUpdateUUID.length);
this.lastUpdateUUID.setText(this.uuid); this.lastUpdateUUID.setText(this.uuid);
@ -131,7 +133,10 @@ window.plugin.sync.RegisteredMap.prototype.updateMap = function(keyArray) {
_this.map.delete(key); _this.map.delete(key);
} }
}); });
} finally {
// Ensure endCompoundOperation is always called (see bug #896)
this.model.endCompoundOperation(); this.model.endCompoundOperation();
}
} }
window.plugin.sync.RegisteredMap.prototype.isUpdatedByOthers = function() { window.plugin.sync.RegisteredMap.prototype.isUpdatedByOthers = function() {