www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit fbb7f796890800b9b490bbda570db5eff480a750
parent b001c5433f1dc755118a99d44ff6fd9ea31b9031
Author: Simon Kornblith <simon@simonster.com>
Date:   Thu,  3 Feb 2011 05:35:47 +0000

appropriately handle case where tab is loaded before window finishes loading


Diffstat:
Mchrome/content/zotero/tab.js | 19+++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/chrome/content/zotero/tab.js b/chrome/content/zotero/tab.js @@ -41,23 +41,30 @@ var ZoteroTab = new function() if(browserIndex === -1) return; // initialize ZoteroPane and swap out old window ZoteroPane object - ZoteroPane.init(); - - // swap window ZoteroPane with ZoteroPane from tab - window.ZoteroPane_Overlay = window.ZoteroPane; - window.ZoteroPane_Tab = ZoteroPane; - window.ZoteroPane = ZoteroPane; + if(window.ZoteroPane) { + window.ZoteroPane_Overlay = window.ZoteroPane; + window.ZoteroPane_Tab = ZoteroPane; + window.ZoteroPane = ZoteroPane; + } else { + window.addEventListener("load", function() { + window.ZoteroPane_Overlay = window.ZoteroPane; + window.ZoteroPane_Tab = ZoteroPane; + window.ZoteroPane = ZoteroPane; + }, false); + } // get tab for browser var tab = window.gBrowser.tabs[browserIndex]; if(window.gBrowser.selectedTab === tab) { // if tab is already selected, init now + ZoteroPane.init(); ZoteroPane.makeVisible(); } else { // otherwise, add a handler to wait until this tab is selected var listener = function(event) { if(event.target !== tab) return; window.gBrowser.tabContainer.removeEventListener("TabSelect", listener, false); + ZoteroPane.init(); ZoteroPane.makeVisible(); } window.gBrowser.tabContainer.addEventListener("TabSelect", listener, false);