From 60afa6b00ded878e3ef56948caaf6b2d9b46db23 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Wed, 30 Dec 2009 06:00:27 +0000 Subject: [PATCH] Fix DOI translator hang on error --- chrome/content/zotero/xpcom/translate.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/chrome/content/zotero/xpcom/translate.js b/chrome/content/zotero/xpcom/translate.js index 714da2f172..79db6b973a 100644 --- a/chrome/content/zotero/xpcom/translate.js +++ b/chrome/content/zotero/xpcom/translate.js @@ -881,7 +881,17 @@ Zotero.Translate.prototype._generateSandbox = function() { var safeTranslator = new Object(); safeTranslator.setSearch = function(arg) { return translation.setSearch(arg) }; safeTranslator.setDocument = function(arg) { return translation.setDocument(arg) }; - safeTranslator.setHandler = function(arg1, arg2) { translation.setHandler(arg1, arg2) }; + safeTranslator.setHandler = function(arg1, arg2) { + translation.setHandler(arg1, + function(obj, item) { + try { + arg2(obj, item); + } catch(e) { + me.error(false, e); + } + } + ); + }; safeTranslator.setString = function(arg) { translation.setString(arg) }; safeTranslator.setTranslator = function(arg) { return translation.setTranslator(arg) }; safeTranslator.getTranslators = function() { return translation.getTranslators() };