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