diff options
author | dave@33eels.com <dave@33eels.com@4eb1ac78-321c-0410-a911-ec516a8615a5> | 2008-09-25 11:10:13 (GMT) |
---|---|---|
committer | dave@33eels.com <dave@33eels.com@4eb1ac78-321c-0410-a911-ec516a8615a5> | 2008-09-25 11:10:13 (GMT) |
commit | 3427618ac8fd87fe1e82fb482210789d93c52196 (patch) | |
tree | c6ea0b8a5cb7abe504be6ffbfe469ba21721f72b /bandwagon/content/ui/dialog.js | |
parent | bd19c7fc93848de37234498d5d81d4eddb8e5661 (diff) |
Fix for bug 776 ("Mac OS: Strange behaviour when Extension Manager is opened from the hidden window.")
git-svn-id: http://svn.mozilla.org/addons/trunk@18586 4eb1ac78-321c-0410-a911-ec516a8615a5
Diffstat (limited to 'bandwagon/content/ui/dialog.js')
-rw-r--r-- | bandwagon/content/ui/dialog.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/bandwagon/content/ui/dialog.js b/bandwagon/content/ui/dialog.js index 80e405c..33e635c 100644 --- a/bandwagon/content/ui/dialog.js +++ b/bandwagon/content/ui/dialog.js @@ -39,13 +39,27 @@ var bandwagonService; try { - // fix the reference to the global bandwagon singletons + // try and re-use the Bandwagon singletons from a recent browser window var bw = Components.classes["@mozilla.org/appshell/window-mediator;1"] .getService(Components.interfaces.nsIWindowMediator) .getMostRecentWindow("navigator:browser"); - Bandwagon = bw.Bandwagon; + if (bw) + { + Bandwagon = bw.Bandwagon; + } + else + { + // no recent browser window - load required scripts dynamically + var scriptLoader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"] + .getService(Components.interfaces.mozIJSSubScriptLoader); + + scriptLoader.loadSubScript("chrome://bandwagon/content/scripts/bandwagon.js"); + scriptLoader.loadSubScript("chrome://bandwagon/content/scripts/logger.js"); + scriptLoader.loadSubScript("chrome://bandwagon/content/scripts/util.js"); + scriptLoader.loadSubScript("chrome://bandwagon/content/scripts/prefs.js"); + } // get the service |