r35527 - in /desktop/unstable/gnome-shell/debian: ./ patches/
bigon at users.alioth.debian.org
bigon at users.alioth.debian.org
Fri Jul 6 10:37:03 UTC 2012
Author: bigon
Date: Fri Jul 6 10:37:02 2012
New Revision: 35527
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=35527
Log:
* debian/patches:
- 27-notificationDaemon-Fix-copy-paste-typo.patch: Fix typo in hints
category (Taken from upstream)
- 28-telepathyClient-decline-dispatch-op-when.patch,
29-telepathyClient-ignore-invalidated-channels.patch: ignore invalidated
telepathy channels (Taken from upstream)
- 30-popupMenu-bypass-changeSignal-callback-if.patch,
31-popupMenu-do-not-overflow-the-currentItems.patch: Fix shell freeze
when using empathy from GIT (Taken from upstream)
Added:
desktop/unstable/gnome-shell/debian/patches/27-notificationDaemon-Fix-copy-paste-typo.patch
desktop/unstable/gnome-shell/debian/patches/28-telepathyClient-decline-dispatch-op-when.patch
desktop/unstable/gnome-shell/debian/patches/29-telepathyClient-ignore-invalidated-channels.patch
desktop/unstable/gnome-shell/debian/patches/30-popupMenu-bypass-changeSignal-callback-if.patch
desktop/unstable/gnome-shell/debian/patches/31-popupMenu-do-not-overflow-the-currentItems.patch
Modified:
desktop/unstable/gnome-shell/debian/changelog
desktop/unstable/gnome-shell/debian/patches/series
Modified: desktop/unstable/gnome-shell/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/changelog?rev=35527&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/changelog [utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/changelog [utf-8] Fri Jul 6 10:37:02 2012
@@ -1,3 +1,17 @@
+gnome-shell (3.4.1-9) UNRELEASED; urgency=low
+
+ * debian/patches:
+ - 27-notificationDaemon-Fix-copy-paste-typo.patch: Fix typo in hints
+ category (Taken from upstream)
+ - 28-telepathyClient-decline-dispatch-op-when.patch,
+ 29-telepathyClient-ignore-invalidated-channels.patch: ignore invalidated
+ telepathy channels (Taken from upstream)
+ - 30-popupMenu-bypass-changeSignal-callback-if.patch,
+ 31-popupMenu-do-not-overflow-the-currentItems.patch: Fix shell freeze
+ when using empathy from GIT (Taken from upstream)
+
+ -- Laurent Bigonville <bigon at debian.org> Fri, 06 Jul 2012 12:17:20 +0200
+
gnome-shell (3.4.1-8) unstable; urgency=low
* 27-don-t-show-apps-in-NoDisplay-categories.patch: renamed as
Added: desktop/unstable/gnome-shell/debian/patches/27-notificationDaemon-Fix-copy-paste-typo.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/27-notificationDaemon-Fix-copy-paste-typo.patch?rev=35527&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/27-notificationDaemon-Fix-copy-paste-typo.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/27-notificationDaemon-Fix-copy-paste-typo.patch [utf-8] Fri Jul 6 10:37:02 2012
@@ -1,0 +1,26 @@
+From 69a63f208e7070111d6436d4b2fa87053ae5ca8f Mon Sep 17 00:00:00 2001
+From: Jasper St. Pierre <jstpierre at mecheye.net>
+Date: Wed, 16 May 2012 15:28:05 +0000
+Subject: notificationDaemon: Fix copy-paste typo
+
+Since this line was introduced in 7458d3e, "Approve file transfer channels",
+it's quite obvious that the line was meant to filter out transfer channel
+notifications.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676175
+---
+diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
+index c6a941f..4a413ce 100644
+--- a/js/ui/notificationDaemon.js
++++ b/js/ui/notificationDaemon.js
+@@ -233,7 +233,7 @@ const NotificationDaemon = new Lang.Class({
+ if (appName == 'Empathy' && (hints['category'] == 'im.received' ||
+ hints['category'] == 'x-empathy.im.room-invitation' ||
+ hints['category'] == 'x-empathy.call.incoming' ||
+- hints['category'] == 'x-empathy.call.incoming"' ||
++ hints['category'] == 'x-empathy.transfer.incoming' ||
+ hints['category'] == 'x-empathy.im.subscription-request' ||
+ hints['category'] == 'presence.online' ||
+ hints['category'] == 'presence.offline')) {
+--
+cgit v0.9.0.2
Added: desktop/unstable/gnome-shell/debian/patches/28-telepathyClient-decline-dispatch-op-when.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/28-telepathyClient-decline-dispatch-op-when.patch?rev=35527&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/28-telepathyClient-decline-dispatch-op-when.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/28-telepathyClient-decline-dispatch-op-when.patch [utf-8] Fri Jul 6 10:37:02 2012
@@ -1,0 +1,24 @@
+From 42366ab02590d7a572b7366407a18386e7b8f7a0 Mon Sep 17 00:00:00 2001
+From: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
+Date: Tue, 05 Jun 2012 10:37:06 +0000
+Subject: telepathyClient: decline dispatch op when approving unsupported channel type
+
+It shouldn't happen in theory but best to be safe than sorry.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=677457
+---
+diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js
+index b705c7a..45638c6 100644
+--- a/js/ui/telepathyClient.js
++++ b/js/ui/telepathyClient.js
+@@ -237,6 +237,8 @@ const Client = new Lang.Class({
+ this._approveCall(account, conn, channel, dispatchOp, context);
+ else if (chanType == Tp.IFACE_CHANNEL_TYPE_FILE_TRANSFER)
+ this._approveFileTransfer(account, conn, channel, dispatchOp, context);
++ else
++ Shell.decline_dispatch_op(context, 'Unsupported channel type');
+ },
+
+ _approveTextChannel: function(account, conn, channel, dispatchOp, context) {
+--
+cgit v0.9.0.2
Added: desktop/unstable/gnome-shell/debian/patches/29-telepathyClient-ignore-invalidated-channels.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/29-telepathyClient-ignore-invalidated-channels.patch?rev=35527&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/29-telepathyClient-ignore-invalidated-channels.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/29-telepathyClient-ignore-invalidated-channels.patch [utf-8] Fri Jul 6 10:37:02 2012
@@ -1,0 +1,79 @@
+From 7e73a52505a4859a8146d7940e77659b874a2f45 Mon Sep 17 00:00:00 2001
+From: Guillaume Desmottes <guillaume.desmottes at collabora.co.uk>
+Date: Tue, 05 Jun 2012 10:39:30 +0000
+Subject: telepathyClient: ignore invalidated channels
+
+There is a race if a channel is invalidated during its preparation: the
+'invalidated' signal is already emitted so the Shell will never notice.
+We fix this by simply checking if the channel is already invalidated when
+receiving it from telepathy-glib.
+
+In the approving case, we reject the full ChannelDispatchOperation as we only
+support approving one channel at the time.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=677457
+---
+diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js
+index 45638c6..231c52c 100644
+--- a/js/ui/telepathyClient.js
++++ b/js/ui/telepathyClient.js
+@@ -132,6 +132,9 @@ const Client = new Lang.Class({
+ let channel = channels[i];
+ let [targetHandle, targetHandleType] = channel.get_handle();
+
++ if (Shell.is_channel_invalidated(channel))
++ continue;
++
+ /* Only observe contact text channels */
+ if ((!(channel instanceof Tp.TextChannel)) ||
+ targetHandleType != Tp.HandleType.CONTACT)
+@@ -181,6 +184,9 @@ const Client = new Lang.Class({
+ continue;
+ }
+
++ if (Shell.is_channel_invalidated(channel))
++ continue;
++
+ // 'notify' will be true when coming from an actual HandleChannels
+ // call, and not when from a successful Claim call. The point is
+ // we don't want to notify for a channel we just claimed which
+@@ -231,6 +237,11 @@ const Client = new Lang.Class({
+ let channel = channels[0];
+ let chanType = channel.get_channel_type();
+
++ if (Shell.is_channel_invalidated(channel)) {
++ Shell.decline_dispatch_op(context, 'Channel is invalidated');
++ return;
++ }
++
+ if (chanType == Tp.IFACE_CHANNEL_TYPE_TEXT)
+ this._approveTextChannel(account, conn, channel, dispatchOp, context);
+ else if (chanType == Tp.IFACE_CHANNEL_TYPE_CALL)
+diff --git a/src/shell-tp-client.c b/src/shell-tp-client.c
+index d64129e..8a20e68 100644
+--- a/src/shell-tp-client.c
++++ b/src/shell-tp-client.c
+@@ -369,3 +369,9 @@ shell_decline_dispatch_op (TpAddDispatchOperationContext *context,
+ tp_add_dispatch_operation_context_fail (context, error);
+ g_error_free (error);
+ }
++
++/* gjs doesn't cope with tp_proxy_get_invalidated() returning a GError */
++gboolean shell_is_channel_invalidated (TpChannel *channel)
++{
++ return tp_proxy_get_invalidated (channel) != NULL;
++}
+diff --git a/src/shell-tp-client.h b/src/shell-tp-client.h
+index 82094a0..e2045f3 100644
+--- a/src/shell-tp-client.h
++++ b/src/shell-tp-client.h
+@@ -112,5 +112,7 @@ void shell_get_contact_events (TplLogManager *log_manager,
+ void shell_decline_dispatch_op (TpAddDispatchOperationContext *context,
+ const gchar *message);
+
++gboolean shell_is_channel_invalidated (TpChannel *channel);
++
+ G_END_DECLS
+ #endif /* __SHELL_TP_CLIENT_H__ */
+--
+cgit v0.9.0.2
Added: desktop/unstable/gnome-shell/debian/patches/30-popupMenu-bypass-changeSignal-callback-if.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/30-popupMenu-bypass-changeSignal-callback-if.patch?rev=35527&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/30-popupMenu-bypass-changeSignal-callback-if.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/30-popupMenu-bypass-changeSignal-callback-if.patch [utf-8] Fri Jul 6 10:37:02 2012
@@ -1,0 +1,25 @@
+From 66fa24c340682e0579392a1fcda841d3498f6ac8 Mon Sep 17 00:00:00 2001
+From: Alban Browaeys <prahal at yahoo.com>
+Date: Sun, 20 May 2012 21:37:22 +0000
+Subject: popupMenu: bypass changeSignal callback if action is already handled
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676447
+---
+diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
+index ace32e0..ad1c71a 100644
+--- a/js/ui/popupMenu.js
++++ b/js/ui/popupMenu.js
+@@ -1958,8 +1958,9 @@ const RemoteMenu = new Lang.Class({
+ k++;
+ }
+ } else if (changeSignal) {
+- let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function() {
+- this.actionGroup.disconnect(signalId);
++ let signalId = this.actionGroup.connect(changeSignal, Lang.bind(this, function(actionGroup, actionName) {
++ actionGroup.disconnect(signalId);
++ if (this._actions[actionName]) return;
+
+ // force a full update
+ this._modelChanged(model, 0, -1, model.get_n_items(), target);
+--
+cgit v0.9.0.2
Added: desktop/unstable/gnome-shell/debian/patches/31-popupMenu-do-not-overflow-the-currentItems.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/31-popupMenu-do-not-overflow-the-currentItems.patch?rev=35527&op=file
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/31-popupMenu-do-not-overflow-the-currentItems.patch (added)
+++ desktop/unstable/gnome-shell/debian/patches/31-popupMenu-do-not-overflow-the-currentItems.patch [utf-8] Fri Jul 6 10:37:02 2012
@@ -1,0 +1,36 @@
+From 717aedec5d139f42760644fdf3f2013fba7b7689 Mon Sep 17 00:00:00 2001
+From: Alban Browaeys <prahal at yahoo.com>
+Date: Sun, 20 May 2012 21:36:27 +0000
+Subject: popupMenu: do not overflow the currentItems
+
+Do not overflow currentItems array. If the Menu section is filled
+via model items-changed callback the position in the model passed to
+the RemoteMenu _modelChanged can be a to be added asynchronously
+action-added. Thus the item does not yet exists in the currentItems.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=676447
+---
+diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
+index ad1c71a..7d5bfe7 100644
+--- a/js/ui/popupMenu.js
++++ b/js/ui/popupMenu.js
+@@ -1917,7 +1917,7 @@ const RemoteMenu = new Lang.Class({
+ while (k0 < currentItems.length && currentItems[k0]._ignored)
+ k0++;
+ // find the right menu item matching the model item
+- for (j0 = 0; j0 < position; j0++, k0++) {
++ for (j0 = 0; k0 < currentItems.length && j0 < position; j0++, k0++) {
+ if (currentItems[k0]._ignored)
+ k0++;
+ }
+@@ -1927,7 +1927,7 @@ const RemoteMenu = new Lang.Class({
+ for (k = k0; k < currentItems.length; k++)
+ currentItems[k].destroy();
+ } else {
+- for (j = j0, k = k0; j < j0 + removed; j++, k++) {
++ for (j = j0, k = k0; k < currentItems.length && j < j0 + removed; j++, k++) {
+ currentItems[k].destroy();
+
+ if (currentItems[k]._ignored)
+--
+cgit v0.9.0.2
Modified: desktop/unstable/gnome-shell/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gnome-shell/debian/patches/series?rev=35527&op=diff
==============================================================================
--- desktop/unstable/gnome-shell/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gnome-shell/debian/patches/series [utf-8] Fri Jul 6 10:37:02 2012
@@ -9,3 +9,8 @@
24-mirror-evolution-calendar-settings.patch
25-close-the-recorder-instead-of-pausing-it.patch
26-fix-empathy-popup-regression.patch
+27-notificationDaemon-Fix-copy-paste-typo.patch
+28-telepathyClient-decline-dispatch-op-when.patch
+29-telepathyClient-ignore-invalidated-channels.patch
+30-popupMenu-bypass-changeSignal-callback-if.patch
+31-popupMenu-do-not-overflow-the-currentItems.patch
More information about the pkg-gnome-commits
mailing list