diff --git a/chrome/content/zotero/xpcom/sync/syncRunner.js b/chrome/content/zotero/xpcom/sync/syncRunner.js index edc23cb2c..bfdf16c8b 100644 --- a/chrome/content/zotero/xpcom/sync/syncRunner.js +++ b/chrome/content/zotero/xpcom/sync/syncRunner.js @@ -97,11 +97,16 @@ Zotero.Sync.Runner_Module = function (options = {}) { * @param {Function} [options.onError] Function to pass errors to instead of * handling internally (used for testing) */ - this.sync = Zotero.serial(Zotero.Promise.coroutine(function* (options = {}) { + this.sync = Zotero.serial(function (options = {}) { + return this._sync(options); + }); + + + this._sync = Zotero.Promise.coroutine(function* (options) { // Clear message list _errors = []; - // Shouldn't be possible + // Shouldn't be possible because of serial() if (_syncInProgress) { let msg = Zotero.getString('sync.error.syncInProgress'); let e = new Zotero.Error(msg, 0, { dialogButtonText: null, frontWindowOnly: true }); @@ -233,14 +238,14 @@ Zotero.Sync.Runner_Module = function (options = {}) { if (options.restartSync) { delete options.restartSync; Zotero.debug("Restarting sync"); - yield this.sync(options); + yield this._sync(options); return; } Zotero.debug("Done syncing"); Zotero.Notifier.trigger('finish', 'sync', librariesToSync || []); } - })); + }); /**