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) {
|
atexit: function atexit(arg, self) {
|
||||||
if (typeof arg !== "string")
|
if (typeof arg !== "string")
|
||||||
this._atexit.push(arguments);
|
this._atexit.push([arg, self]);
|
||||||
else
|
else
|
||||||
for (let [fn, self] of this._atexit)
|
for (let [fn, self] of this._atexit)
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -125,8 +125,16 @@ var Modules = function Modules(window) {
|
|||||||
return p;
|
return p;
|
||||||
},
|
},
|
||||||
|
|
||||||
set: function window_set(target, prop, val) {
|
set: function window_set(target, prop, val, receiver) {
|
||||||
return target[prop] = val;
|
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) {
|
cleanup: function cleanup(window) {
|
||||||
overlay.windows.delete(window);
|
overlay.windows.delete(window);
|
||||||
|
|
||||||
Cu.nukeSandbox(this.jsmodules);
|
JSMLoader.atexit(() => {
|
||||||
|
Cu.nukeSandbox(this.jsmodules);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
unload: function unload(window) {
|
unload: function unload(window) {
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ var Overlay = Module("Overlay", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReferen
|
|||||||
if (event === true)
|
if (event === true)
|
||||||
target = null;
|
target = null;
|
||||||
|
|
||||||
this.setData(doc, "listeners", listeners.filter(function (args) {
|
this.setData(doc, "listeners", listeners.filter(args => {
|
||||||
let elem = args[0].get();
|
let elem = args[0].get();
|
||||||
if (target == null || elem == target && args[1] == event && args[2].wrapped == callback && args[3] == capture) {
|
if (target == null || elem == target && args[1] == event && args[2].wrapped == callback && args[3] == capture) {
|
||||||
apply(elem, "removeEventListener", args.slice(1));
|
apply(elem, "removeEventListener", args.slice(1));
|
||||||
|
|||||||
Reference in New Issue
Block a user