From c125adc9165537b5a809345c17cadadff90e57a9 Mon Sep 17 00:00:00 2001 From: YFdyh000 Date: Sun, 21 Aug 2016 08:05:50 +0800 Subject: [PATCH] Avoid prefService.addObserver leaked when closing window, fix #286 --- content/overlay.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/overlay.js b/content/overlay.js index 89de577..58b05fc 100644 --- a/content/overlay.js +++ b/content/overlay.js @@ -88,6 +88,9 @@ var stylishOverlay = { if (typeof gBrowser != "undefined") { gBrowser.removeProgressListener(stylishOverlay.urlLoadedListener, Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT); } + var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService).QueryInterface(Components.interfaces.nsIPrefBranch); + prefService.removeObserver("extensions.stylish.styleRegistrationEnabled", stylishOverlay); + var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService); observerService.removeObserver(stylishOverlay, "stylish-style-add"); observerService.removeObserver(stylishOverlay, "stylish-style-change");