www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 6096d1ea62c6462ad02d4614792f84f5c525d2ba
parent 5d67656ea8cad4b1c7d08866ed659162590b9fb1
Author: Dan Stillman <dstillman@zotero.org>
Date:   Tue,  3 Jan 2017 04:40:18 -0500

Fix hang on sync restart

Diffstat:
Mchrome/content/zotero/xpcom/sync/syncRunner.js | 13+++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)

diff --git 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 || []); } - })); + }); /**