diff --git a/chrome/content/zotero/overlay.js b/chrome/content/zotero/overlay.js index c3d86f3ed..74845fb5c 100644 --- a/chrome/content/zotero/overlay.js +++ b/chrome/content/zotero/overlay.js @@ -230,6 +230,7 @@ var ZoteroPane = new function() // or load the default error page if (makeVisible && (!Zotero || !Zotero.initialized)) { if (Zotero) { + var errMsg = Zotero.startupError; var errFunc = Zotero.startupErrorHandler; } @@ -241,7 +242,7 @@ var ZoteroPane = new function() // instructions // window.loadURI('chrome://zotero/content/error.xul'); // TODO: localize if possible - alert("There was an error starting Zotero."); + alert(errMsg); } return; diff --git a/chrome/content/zotero/xpcom/zotero.js b/chrome/content/zotero/xpcom/zotero.js index 8537a4217..79338412b 100644 --- a/chrome/content/zotero/xpcom/zotero.js +++ b/chrome/content/zotero/xpcom/zotero.js @@ -221,7 +221,16 @@ var Zotero = new function(){ } // If no userdata upgrade, still might need to process system/scrapers else { - Zotero.Schema.updateSchema(); + try { + Zotero.Schema.updateSchema(); + } + catch (e) { + if (typeof e == 'string' && e.match('newer than SQL file')) { + _startupError = e; + } + Components.utils.reportError(_startupError); + return false; + } } Zotero.DB.startDummyStatement();