From 76bc61e8827d43b44c719c6956a16e99d97f8fbe Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Thu, 2 Feb 2017 22:34:12 -0500 Subject: [PATCH] Don't unload object on save error if not new --- chrome/content/zotero/xpcom/data/dataObject.js | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/chrome/content/zotero/xpcom/data/dataObject.js b/chrome/content/zotero/xpcom/data/dataObject.js index 179ceb964..7c0c09307 100644 --- a/chrome/content/zotero/xpcom/data/dataObject.js +++ b/chrome/content/zotero/xpcom/data/dataObject.js @@ -909,14 +909,16 @@ Zotero.DataObject.prototype._initSave = Zotero.Promise.coroutine(function* (env) } // Undo registerObject() on failure - var func = function () { - this.ObjectsClass.unload(this._id); - }.bind(this); - if (env.options.tx) { - env.transactionOptions.onRollback = func; - } - else { - Zotero.DB.addCurrentCallback("rollback", func); + if (env.isNew) { + var func = function () { + this.ObjectsClass.unload(this._id); + }.bind(this); + if (env.options.tx) { + env.transactionOptions.onRollback = func; + } + else { + Zotero.DB.addCurrentCallback("rollback", func); + } } env.relationsToRegister = [];