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

Bug#779980: unblock: gpaste/3.14-2



Package: release.debian.org
Followup-For: Bug #779980
User: release.debian.org@packages.debian.org
Usertags: unblock

Here's the debdiff before i upload.
diff -Nru gpaste-3.14/debian/changelog gpaste-3.14/debian/changelog
--- gpaste-3.14/debian/changelog	2014-10-11 12:18:59.000000000 +0200
+++ gpaste-3.14/debian/changelog	2015-03-07 15:05:15.000000000 +0100
@@ -1,3 +1,9 @@
+gpaste (3.14-2) unstable; urgency=medium
+
+  * Upstream patch fixing gnome-shell extension crashes.
+
+ -- Jérémy Lal <kapouer@melix.org>  Sat, 07 Mar 2015 14:44:36 +0100
+
 gpaste (3.14-1) unstable; urgency=medium
 
   * Imported Upstream version 3.14 (Closes: #764803).
diff -Nru gpaste-3.14/debian/patches/series gpaste-3.14/debian/patches/series
--- gpaste-3.14/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ gpaste-3.14/debian/patches/series	2015-03-07 15:03:28.000000000 +0100
@@ -0,0 +1 @@
+upstream-fix-crashes-0e899af5.patch
diff -Nru gpaste-3.14/debian/patches/upstream-fix-crashes-0e899af5.patch gpaste-3.14/debian/patches/upstream-fix-crashes-0e899af5.patch
--- gpaste-3.14/debian/patches/upstream-fix-crashes-0e899af5.patch	1970-01-01 01:00:00.000000000 +0100
+++ gpaste-3.14/debian/patches/upstream-fix-crashes-0e899af5.patch	2015-03-07 15:03:28.000000000 +0100
@@ -0,0 +1,83 @@
+From: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
+Last-Update: 2015-03-07
+Description: gnome-shell: fix weird gjs gsignal bug
+Origin: https://github.com/Keruspe/GPaste/commit/0e899af538631026c6cd739986ea854f79b91c95
+Bug: https://github.com/Keruspe/GPaste/issues/106
+Reviewed-By: Jérémy Lal <kapouer@melix.org>
+
+--- a/src/gnome-shell/indicator.js
++++ b/src/gnome-shell/indicator.js
+@@ -86,8 +86,9 @@
+             this._dummyHistoryItem.update();
+             this._prefsItem = new PrefsItem.GPastePrefsItem(this.menu);
+             this._emptyHistoryItem = new EmptyHistoryItem.GPasteEmptyHistoryItem(this._client);
++            this._switch = new StateSwitch.GPasteStateSwitch(this._client);
+ 
+-            this._addToHeader(new StateSwitch.GPasteStateSwitch(this._client));
++            this._addToHeader(this._switch);
+             this._addToHeader(this._searchItem);
+             this._actions.actor.add(this._prefsItem, { expand: true, x_fill: false });
+             this._actions.actor.add(this._emptyHistoryItem, { expand: true, x_fill: false });
+@@ -97,6 +98,7 @@
+             this._refresh(0);
+ 
+             this._clientShowId = this._client.connect('show-history', Lang.bind(this, this._popup));
++            this._clientTrackingId = this._client.connect('tracking', Lang.bind(this, this._toggle));
+ 
+             this._onStateChanged (true);
+ 
+@@ -239,6 +241,10 @@
+         this._selectSearch(true);
+     },
+ 
++    _toggle: function(c, state) {
++        this._switch.toggle(state);
++    },
++
+     _selectSearch: function(active) {
+         if (this._history.length > 0) {
+             this._searchItem.setActive(active);
+@@ -281,6 +287,7 @@
+     _onDestroy: function() {
+         this._client.disconnect(this._clientUpdateId);
+         this._client.disconnect(this._clientShowId);
++        this._client.disconnect(this._clientTrackingId);
+         this._settings.disconnect(this._settingsMaxSizeChangedId);
+         this._settings.disconnect(this._settingsSizeChangedId);
+     }
+--- a/src/gnome-shell/stateSwitch.js
++++ b/src/gnome-shell/stateSwitch.js
+@@ -35,27 +35,18 @@
+         this._client = client;
+         this._fromDaemon = false;
+ 
+-        this._clientTrackingId = client.connect('tracking', Lang.bind(this, function(c, state) {
+-            this._toggle(state);
+-        }));
+-        this._toggle(client.is_active());
+-
+-        this.connect('toggled', Lang.bind(this, function() {
+-            if (!this._fromDaemon) {
+-                client.track(this.state, null);
+-            }
+-        }));
+-
+-        this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
++        this.connect('toggled', Lang.bind(this, this._onToggle));
+     },
+ 
+-    _toggle: function(state) {
++    toggle: function(state) {
+         this._fromDaemon = true;
+         this.setToggleState(state);
+         this._fromDaemon = false;
+     },
+ 
+-    _onDestroy: function() {
+-        this._client.disconnect(this._clientTrackingId);
++    _onToggle: function() {
++        if (!this._fromDaemon) {
++            this._client.track(this.state, null);
++        }
+     }
+ });

Reply to: