commit f07a42a7ec8321411e91f7d60d0d0274845ccebf
parent d2dcf2bbc70efbb4e3d4ee09a3e59ebbceadd69f
Author: Simon Kornblith <simon@simonster.com>
Date: Sun, 8 Jul 2012 11:19:41 -0400
If document data is corrupted, just show a new Document Preferences window
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/chrome/content/zotero/xpcom/integration.js b/chrome/content/zotero/xpcom/integration.js
@@ -860,10 +860,18 @@ Zotero.Integration.Document.prototype._createNewSession = function(data) {
*/
Zotero.Integration.Document.prototype._getSession = function(require, dontRunSetDocPrefs, callback) {
var dataString = this._doc.getDocumentData(),
+ data,
me = this;
- if(!dataString) {
+
+ if(dataString) {
+ try {
+ data = new Zotero.Integration.DocumentData(dataString);
+ } catch(e) {};
+ }
+
+ if(!data) {
var haveFields = false;
- var data = new Zotero.Integration.DocumentData();
+ data = new Zotero.Integration.DocumentData();
if(require) {
// check to see if fields already exist
@@ -906,7 +914,6 @@ Zotero.Integration.Document.prototype._getSession = function(require, dontRunSet
callback(true);
});
} else {
- var data = new Zotero.Integration.DocumentData(dataString);
if(data.dataVersion < DATA_VERSION) {
if(data.dataVersion == 1
&& data.prefs.fieldType == "Field"