diff --git a/chrome/content/zotero/xpcom/sync.js b/chrome/content/zotero/xpcom/sync.js index 8221f981f..2a1c4b259 100644 --- a/chrome/content/zotero/xpcom/sync.js +++ b/chrome/content/zotero/xpcom/sync.js @@ -1463,21 +1463,12 @@ Zotero.Sync.Server = new function () { Zotero.suppressUIUpdates = true; _updatesInProgress = true; - var progressMeter = true; - if (progressMeter) { - Zotero.showZoteroPaneProgressMeter( - Zotero.getString('sync.status.processingUpdatedData'), - false, - "chrome://zotero/skin/arrow_rotate_animated.png" - ); - } - var errorHandler = function (e) { Zotero.DB.rollbackTransaction(); Zotero.UnresponsiveScriptIndicator.enable(); - if (progressMeter) { + if (Zotero.locked) { Zotero.hideZoteroPaneOverlay(); } Zotero.suppressUIUpdates = false; @@ -1495,7 +1486,7 @@ Zotero.Sync.Server = new function () { function (xmlstr) { Zotero.UnresponsiveScriptIndicator.enable(); - if (progressMeter) { + if (Zotero.locked) { Zotero.hideZoteroPaneOverlay(); } Zotero.suppressUIUpdates = false; @@ -2559,15 +2550,26 @@ Zotero.Sync.Server.Data = new function() { } function _timeToYield() { - if (progressMeter && Date.now() - lastRepaint > repaintTime) { + if (!progressMeter) { + if (Date.now() - start > progressMeterThreshold) { + Zotero.showZoteroPaneProgressMeter( + Zotero.getString('sync.status.processingUpdatedData'), + false, + "chrome://zotero/skin/arrow_rotate_animated.png" + ); + progressMeter = true; + } + } + else if (Date.now() - lastRepaint > repaintTime) { lastRepaint = Date.now(); return true; } - return false; } - var progressMeter = Zotero.locked; + var progressMeter = false; + var progressMeterThreshold = 100; + var start = Date.now(); var repaintTime = 100; var lastRepaint = Date.now();