From 91707f4f82682b8de8a3c51457a8c506d2381cff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Mon, 28 Oct 2019 18:44:24 +0100 Subject: [PATCH] environment: Use gjs smart GObject GTypeName computation Make gjs to compute the GType name for registered GObject-derived classes using the file basename and the first directory name, so that we can avoid name clashing, and ensure that no extension will break the shell by registering a name that is already used (by the shell or by any other extension). This requires gjs commit 02568304 [1] that will be part of release 3.35.2, so bump the required version as gjs does post-release version bumps. [1] https://gitlab.gnome.org/GNOME/gjs/merge_requests/337 https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/790 --- js/ui/environment.js | 4 +++- meson.build | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/js/ui/environment.js b/js/ui/environment.js index 20b546844..692bc0e68 100644 --- a/js/ui/environment.js +++ b/js/ui/environment.js @@ -10,7 +10,7 @@ imports.gi.versions.Gtk = '3.0'; imports.gi.versions.TelepathyGLib = '0.12'; imports.gi.versions.TelepathyLogger = '0.2'; -const { Clutter, GLib, Meta, Shell, St } = imports.gi; +const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi; const Gettext = imports.gettext; // We can't import shell JS modules yet, because they may have @@ -233,6 +233,8 @@ function init() { window.ngettext = Gettext.ngettext; window.N_ = s => s; + GObject.gtypeNameBasedOnJSPath = true; + // Miscellaneous monkeypatching _patchContainerClass(St.BoxLayout); diff --git a/meson.build b/meson.build index 33ae12d3c..a66f8d732 100644 --- a/meson.build +++ b/meson.build @@ -24,7 +24,7 @@ eds_req = '>= 3.17.2' gcr_req = '>= 3.7.5' gio_req = '>= 2.56.0' gi_req = '>= 1.49.1' -gjs_req = '>= 1.57.3' +gjs_req = '>= 1.63.2' gtk_req = '>= 3.15.0' mutter_req = '>= 3.35.1' polkit_req = '>= 0.100'