From 9ce0e47117e2fc0bb4a64fa60a4d9e6b21a987e2 Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Tue, 16 Aug 2011 16:13:59 +0000 Subject: [PATCH] Support synchronous getTranslatorObject() in Firefox connecotr --- chrome/content/zotero/xpcom/translation/translate.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js index e8a5692a01..685b000307 100644 --- a/chrome/content/zotero/xpcom/translation/translate.js +++ b/chrome/content/zotero/xpcom/translation/translate.js @@ -342,13 +342,18 @@ Zotero.Translate.Sandbox = { haveTranslatorFunction(translation.translator[0]); return translation._sandboxManager.sandbox; } else { - if(Zotero.isConnector && !callback) { + if(Zotero.isConnector && !Zotero.isFx && !callback) { throw new Error("Translator must pass a callback to getTranslatorObject() to "+ "operate in this translation environment."); } Zotero.Translators.get(translation.translator[0], haveTranslatorFunction); - if(!Zotero.isConnector) return sandbox; + if(Zotero.isConnector && Zotero.isFx && !callback) { + while(!sandbox) { + Zotero.mainThread.processNextEvent(true); + } + } + if(sandbox) return sandbox; } };