diff --git a/chrome/content/zotero/xpcom/data/collection.js b/chrome/content/zotero/xpcom/data/collection.js index 267b13e9ef..7d3aafe619 100644 --- a/chrome/content/zotero/xpcom/data/collection.js +++ b/chrome/content/zotero/xpcom/data/collection.js @@ -321,6 +321,10 @@ Zotero.Collection.prototype._finalizeSave = Zotero.Promise.coroutine(function* ( if (!env.skipCache) { yield this.reload(); + // If new, there's no other data we don't have, so we can mark everything as loaded + if (env.isNew) { + this._markAllDataTypeLoadStates(true); + } this._clearChanged(); } diff --git a/chrome/content/zotero/xpcom/data/item.js b/chrome/content/zotero/xpcom/data/item.js index 1fcc4a7983..78405e73cc 100644 --- a/chrome/content/zotero/xpcom/data/item.js +++ b/chrome/content/zotero/xpcom/data/item.js @@ -1736,6 +1736,10 @@ Zotero.Item.prototype._finalizeSave = Zotero.Promise.coroutine(function* (env) { // and not primaryData. yield this.loadPrimaryData(true); yield this.reload(); + // If new, there's no other data we don't have, so we can mark everything as loaded + if (env.isNew) { + this._markAllDataTypeLoadStates(true); + } this._clearChanged(); } diff --git a/chrome/content/zotero/xpcom/search.js b/chrome/content/zotero/xpcom/search.js index f904d5f573..2b5e4a3f8d 100644 --- a/chrome/content/zotero/xpcom/search.js +++ b/chrome/content/zotero/xpcom/search.js @@ -187,6 +187,10 @@ Zotero.Search.prototype._finalizeSave = Zotero.Promise.coroutine(function* (env) if (!env.skipCache) { yield this.loadPrimaryData(true); yield this.reload(); + // If new, there's no other data we don't have, so we can mark everything as loaded + if (env.isNew) { + this._markAllDataTypeLoadStates(true); + } this._clearChanged(); }