From 9f88e98d1bfbd5f1b20c574c2c761765ebf1d939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sat, 20 Aug 2022 18:48:25 +0200 Subject: [PATCH] extensions: Stop monkey-patching signal methods gnome-shell added an EventEmitter class that can be used as base for any non-GObject class that needs to emit signals. Use that instead of the old monkey-patching. Part-of: --- extensions/apps-menu/extension.js | 7 ++++--- extensions/places-menu/placeDisplay.js | 12 +++++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index 6757f217..23da6c08 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -4,7 +4,7 @@ const { Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St, } = imports.gi; -const Signals = imports.signals; +const {EventEmitter} = imports.misc.signals; const DND = imports.ui.dnd; const ExtensionUtils = imports.misc.extensionUtils; @@ -239,8 +239,10 @@ class ApplicationsMenu extends PopupMenu.PopupMenu { } } -class DesktopTarget { +class DesktopTarget extends EventEmitter { constructor() { + super(); + this._desktop = null; this._desktopDestroyedId = 0; @@ -357,7 +359,6 @@ class DesktopTarget { return true; } } -Signals.addSignalMethods(DesktopTarget.prototype); class ApplicationsButton extends PanelMenu.Button { static { diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js index 37ca1661..9b5c205f 100644 --- a/extensions/places-menu/placeDisplay.js +++ b/extensions/places-menu/placeDisplay.js @@ -2,7 +2,7 @@ /* exported PlacesManager */ const {Gio, GLib, Shell} = imports.gi; -const Signals = imports.signals; +const {EventEmitter} = imports.misc.signals; const ExtensionUtils = imports.misc.extensionUtils; const Main = imports.ui.main; @@ -23,8 +23,10 @@ const Hostname1Iface = ' \ '; const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface); -class PlaceInfo { +class PlaceInfo extends EventEmitter { constructor(...params) { + super(); + this._init(...params); } @@ -119,7 +121,6 @@ class PlaceInfo { } } } -Signals.addSignalMethods(PlaceInfo.prototype); class RootInfo extends PlaceInfo { _init() { @@ -247,8 +248,10 @@ const DEFAULT_DIRECTORIES = [ GLib.UserDirectory.DIRECTORY_VIDEOS, ]; -var PlacesManager = class { +var PlacesManager = class extends EventEmitter { constructor() { + super(); + this._places = { special: [], devices: [], @@ -544,4 +547,3 @@ var PlacesManager = class { return this._places[kind]; } }; -Signals.addSignalMethods(PlacesManager.prototype);