Fix hang on sync restart

This commit is contained in:
Dan Stillman 2017-01-03 04:40:18 -05:00
parent 5d67656ea8
commit 6096d1ea62

View file

@ -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 || []);
}
}));
});
/**