mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2026-01-07 00:14:11 +01:00
Fix cleanup of styles during :rehash.
--HG-- branch : bootstrapped
This commit is contained in:
1
common/bootstrap.js
vendored
1
common/bootstrap.js
vendored
@@ -190,6 +190,7 @@ function shutdown(data, reason) {
|
|||||||
services.observer.notifyObservers(null, "dactyl-purge", null);
|
services.observer.notifyObservers(null, "dactyl-purge", null);
|
||||||
|
|
||||||
services.observer.notifyObservers(null, "dactyl-cleanup", null);
|
services.observer.notifyObservers(null, "dactyl-cleanup", null);
|
||||||
|
services.observer.notifyObservers(null, "dactyl-cleanup-modules", null);
|
||||||
for (let factory in values(components))
|
for (let factory in values(components))
|
||||||
// TODO: Categories;
|
// TODO: Categories;
|
||||||
factory.unregister();
|
factory.unregister();
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
|||||||
obj._observe = observers;
|
obj._observe = observers;
|
||||||
|
|
||||||
function register(meth) {
|
function register(meth) {
|
||||||
for (let target in set(["dactyl-cleanup", "quit-application"].concat(Object.keys(observers))))
|
for (let target in set(["dactyl-cleanup-modules", "quit-application"].concat(Object.keys(observers))))
|
||||||
try {
|
try {
|
||||||
services.observer[meth](obj, target, true);
|
services.observer[meth](obj, target, true);
|
||||||
}
|
}
|
||||||
@@ -108,7 +108,7 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
|||||||
Class.replaceProperty(obj, "observe",
|
Class.replaceProperty(obj, "observe",
|
||||||
function (subject, target, data) {
|
function (subject, target, data) {
|
||||||
try {
|
try {
|
||||||
if (target == "quit-application" || target == "dactyl-cleanup")
|
if (target == "quit-application" || target == "dactyl-cleanup-modules")
|
||||||
register("removeObserver");
|
register("removeObserver");
|
||||||
if (observers[target])
|
if (observers[target])
|
||||||
observers[target].call(obj, subject, data);
|
observers[target].call(obj, subject, data);
|
||||||
@@ -924,19 +924,16 @@ var Util = Module("Util", XPCOM([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
|
|||||||
},
|
},
|
||||||
|
|
||||||
observe: {
|
observe: {
|
||||||
"dactyl-cleanup": function () {
|
"dactyl-cleanup-modules": function () {
|
||||||
util.dump("dactyl: util: observe: dactyl-cleanup");
|
util.dump("dactyl: util: observe: dactyl-cleanup-modules");
|
||||||
// Let window cleanup functions run synchronously before we
|
|
||||||
// destroy modules.
|
|
||||||
util.timeout(function () {
|
|
||||||
for (let module in values(defineModule.modules))
|
|
||||||
if (module.cleanup) {
|
|
||||||
util.dump("cleanup: " + module.constructor.className);
|
|
||||||
util.trapErrors(module.cleanup, module);
|
|
||||||
}
|
|
||||||
|
|
||||||
services.observer.addObserver(this, "dactyl-rehash", true);
|
for (let module in values(defineModule.modules))
|
||||||
});
|
if (module.cleanup) {
|
||||||
|
util.dump("cleanup: " + module.constructor.className);
|
||||||
|
util.trapErrors(module.cleanup, module);
|
||||||
|
}
|
||||||
|
|
||||||
|
services.observer.addObserver(this, "dactyl-rehash", true);
|
||||||
},
|
},
|
||||||
"dactyl-rehash": function () {
|
"dactyl-rehash": function () {
|
||||||
services.observer.removeObserver(this, "dactyl-rehash");
|
services.observer.removeObserver(this, "dactyl-rehash");
|
||||||
|
|||||||
Reference in New Issue
Block a user