1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2025-12-23 21:12:27 +01:00

Fix live update issues.

This commit is contained in:
Kris Maglione
2011-08-04 07:30:01 -04:00
parent d9c2c15965
commit e5e7978cd5
2 changed files with 18 additions and 9 deletions

21
common/bootstrap.js vendored
View File

@@ -29,6 +29,8 @@ const resourceProto = Services.io.getProtocolHandler("resource")
const categoryManager = Cc["@mozilla.org/categorymanager;1"].getService(Ci.nsICategoryManager);
const manager = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
const BOOTSTRAP_JSM = "resource://dactyl/bootstrap.jsm";
const BOOTSTRAP_CONTRACT = "@dactyl.googlecode.com/base/bootstrap";
JSMLoader = JSMLoader || BOOTSTRAP_CONTRACT in Cc && Cc[BOOTSTRAP_CONTRACT].getService().wrappedJSObject.loader;
@@ -194,16 +196,23 @@ function init() {
reportError(e);
}
if (JSMLoader && JSMLoader.bump !== 4) // Temporary hack
Services.scriptloader.loadSubScript("resource://dactyl" + suffix + "/bootstrap.jsm",
Cu.import("resource://dactyl/bootstrap.jsm", global));
if (JSMLoader) {
if (Cu.unload) {
Cu.unload(BOOTSTRAP_JSM);
for (let [name] in Iterator(JSMLoader.globals))
Cu.unload(~name.indexOf(":") ? name : "resource://dactyl" + JSMLoader.suffix + "/" + name);
}
else if (JSMLoader.bump != 5) // Temporary hack
Services.scriptloader.loadSubScript("resource://dactyl" + suffix + "/bootstrap.jsm",
Cu.import(BOOTSTRAP_JSM, global));
}
if (!JSMLoader || JSMLoader.bump !== 4)
Cu.import("resource://dactyl/bootstrap.jsm", global);
if (!JSMLoader || JSMLoader.bump !== 5 || Cu.unload)
Cu.import(BOOTSTRAP_JSM, global);
JSMLoader.bootstrap = this;
JSMLoader.load("resource://dactyl/bootstrap.jsm", global);
JSMLoader.load(BOOTSTRAP_JSM, global);
JSMLoader.init(suffix);
JSMLoader.load("base.jsm", global);