mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-20 23:57:59 +01:00
Fix :rehash/updating.
This commit is contained in:
2
common/bootstrap.js
vendored
2
common/bootstrap.js
vendored
@@ -113,7 +113,7 @@ let JSMLoader = {
|
||||
|
||||
atexit: function atexit(arg, self) {
|
||||
if (typeof arg !== "string")
|
||||
this._atexit.push(arguments);
|
||||
this._atexit.push([arg, self]);
|
||||
else
|
||||
for (let [fn, self] of this._atexit)
|
||||
try {
|
||||
|
||||
@@ -125,8 +125,16 @@ var Modules = function Modules(window) {
|
||||
return p;
|
||||
},
|
||||
|
||||
set: function window_set(target, prop, val) {
|
||||
return target[prop] = val;
|
||||
set: function window_set(target, prop, val, receiver) {
|
||||
if (receiver !== target)
|
||||
Object.defineProperty(receiver, prop, {
|
||||
value: val,
|
||||
enumerable: true, configurable: true, writable: true
|
||||
});
|
||||
else
|
||||
target[prop] = val;
|
||||
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -249,7 +257,9 @@ overlay.overlayWindow(Object.keys(config.overlays),
|
||||
cleanup: function cleanup(window) {
|
||||
overlay.windows.delete(window);
|
||||
|
||||
JSMLoader.atexit(() => {
|
||||
Cu.nukeSandbox(this.jsmodules);
|
||||
});
|
||||
},
|
||||
|
||||
unload: function unload(window) {
|
||||
|
||||
@@ -102,7 +102,7 @@ var Overlay = Module("Overlay", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReferen
|
||||
if (event === true)
|
||||
target = null;
|
||||
|
||||
this.setData(doc, "listeners", listeners.filter(function (args) {
|
||||
this.setData(doc, "listeners", listeners.filter(args => {
|
||||
let elem = args[0].get();
|
||||
if (target == null || elem == target && args[1] == event && args[2].wrapped == callback && args[3] == capture) {
|
||||
apply(elem, "removeEventListener", args.slice(1));
|
||||
|
||||
Reference in New Issue
Block a user