Avoid frequent tracebacks from the Places menu with gjs >= 1.50.2-3
Closes: #888608
This commit is contained in:
3
debian/changelog
vendored
3
debian/changelog
vendored
@@ -5,6 +5,9 @@ gnome-shell-extensions (3.26.2-3) UNRELEASED; urgency=medium
|
||||
|
||||
[ Simon McVittie ]
|
||||
* d/patches: Re-export with gbp pq export
|
||||
* d/p/places-menu-Don-t-force-dispose-of-uninitialized-proxies.patch:
|
||||
Take patch from upstream to avoid frequent tracebacks from the Places
|
||||
menu with gjs >= 1.50.2-3 (Closes: #888608)
|
||||
|
||||
-- Jeremy Bicha <jbicha@debian.org> Fri, 19 Jan 2018 20:44:11 -0500
|
||||
|
||||
|
||||
63
debian/patches/places-menu-Don-t-force-dispose-of-uninitialized-proxies.patch
vendored
Normal file
63
debian/patches/places-menu-Don-t-force-dispose-of-uninitialized-proxies.patch
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 17 Jan 2018 21:57:49 +0100
|
||||
Subject: places-menu: Don't force dispose() of uninitialized proxies
|
||||
|
||||
Trying to dispose a proxy object before it has been properly
|
||||
initialized triggers an "uncatchable exception", which gjs
|
||||
treats as a fatal error since commit c7bdcaab4. We only have
|
||||
anything to clean up once the proxy is initialized anyway, so
|
||||
don't force dispose() before that.
|
||||
|
||||
Origin: upstream, 3.26.2, commit:61594afd687bf5883cc39fa79c5fbdb0d4cc9eda
|
||||
Bug: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/44
|
||||
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888608
|
||||
---
|
||||
extensions/places-menu/placeDisplay.js | 28 ++++++++++++++++------------
|
||||
1 file changed, 16 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js
|
||||
index ba316bf..9647d63 100644
|
||||
--- a/extensions/places-menu/placeDisplay.js
|
||||
+++ b/extensions/places-menu/placeDisplay.js
|
||||
@@ -136,17 +136,18 @@ const RootInfo = new Lang.Class({
|
||||
_init: function() {
|
||||
this.parent('devices', Gio.File.new_for_path('/'), _("Computer"));
|
||||
|
||||
- this._proxy = new Hostname1(Gio.DBus.system,
|
||||
- 'org.freedesktop.hostname1',
|
||||
- '/org/freedesktop/hostname1',
|
||||
- Lang.bind(this, function(obj, error) {
|
||||
- if (error)
|
||||
- return;
|
||||
-
|
||||
- this._proxy.connect('g-properties-changed',
|
||||
- Lang.bind(this, this._propertiesChanged));
|
||||
- this._propertiesChanged(obj);
|
||||
- }));
|
||||
+ new Hostname1(Gio.DBus.system,
|
||||
+ 'org.freedesktop.hostname1',
|
||||
+ '/org/freedesktop/hostname1',
|
||||
+ Lang.bind(this, function(obj, error) {
|
||||
+ if (error)
|
||||
+ return;
|
||||
+
|
||||
+ this._proxy = obj;
|
||||
+ this._proxy.connect('g-properties-changed',
|
||||
+ Lang.bind(this, this._propertiesChanged));
|
||||
+ this._propertiesChanged(obj);
|
||||
+ }));
|
||||
},
|
||||
|
||||
getIcon: function() {
|
||||
@@ -163,7 +164,10 @@ const RootInfo = new Lang.Class({
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
- this._proxy.run_dispose();
|
||||
+ if (this._proxy) {
|
||||
+ this._proxy.run_dispose();
|
||||
+ this._proxy = null;
|
||||
+ }
|
||||
this.parent();
|
||||
}
|
||||
});
|
||||
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@@ -1,2 +1,3 @@
|
||||
places-menu-Don-t-force-dispose-of-uninitialized-proxies.patch
|
||||
dont-require-nautilus-classic.patch
|
||||
gnome-session-classic-wrapper-script.patch
|
||||
|
||||
Reference in New Issue
Block a user