[gnome-shell-extensions] user-theme: Extensions review guidelines compatibility



commit 762ec75601362dec7b117953f1af954de21f9c59
Author: Just Perfection <justperfection channel gmail com>
Date:   Fri Nov 5 14:05:59 2021 -0700

    user-theme: Extensions review guidelines compatibility
    
    Extensions review guidelines enforces extensions to
    don't create objects in the constructor of the class
    that init() returns. so creating settings object in enable()
    can make the extension compatible with the ego review guidelines.
    
    Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/197>

 extensions/user-theme/extension.js | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
---
diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js
index f54f757..98c4e20 100644
--- a/extensions/user-theme/extension.js
+++ b/extensions/user-theme/extension.js
@@ -13,20 +13,15 @@ const Util = Me.imports.util;
 const SETTINGS_KEY = 'name';
 
 class ThemeManager {
-    constructor() {
-        this._settings = ExtensionUtils.getSettings();
-    }
-
     enable() {
-        this._changedId = this._settings.connect(`changed::${SETTINGS_KEY}`, this._changeTheme.bind(this));
+        this._settings = ExtensionUtils.getSettings();
+        this._settings.connect(`changed::${SETTINGS_KEY}`, this._changeTheme.bind(this));
         this._changeTheme();
     }
 
     disable() {
-        if (this._changedId) {
-            this._settings.disconnect(this._changedId);
-            this._changedId = 0;
-        }
+        this._settings?.run_dispose();
+        this._settings = null;
 
         Main.setThemeStylesheet(null);
         Main.loadTheme();


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]