Accepting request 128540 from home:badshah400:branches:GNOME:Factory

- Update to version 3.4.2:
  + Mirror Evolution calendar settings into our own schema
    [bgo#674424]
  + gdm: don't fail if fprintd unavailable [bgo#675006]
  + Fix broken extension loading [bgo#670477]
  + Fix filtering of Empathy notifications [bgo#675370]
  + telepathyClient: Ignore invalidated channels [bgo#677457]
  + popupMenu: Fix freeze when appMenu is not populated in one go
    [bgo#676447]
  + mount-operation: fix exceptions when showing password entry
    [bgo#678428]
  + Misc. fixes [bgo#677441, bgo#676175]
- Drop gnome-shell-load-ext.patch: committed upstream
- Drop gnome-shell-chat-notifications-fix.patch: committed
  upstream.

OBS-URL: https://build.opensuse.org/request/show/128540
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell?expand=0&rev=119
This commit is contained in:
Dominique Leuenberger 2012-07-21 12:41:47 +00:00 committed by Git OBS Bridge
parent 948aece1d5
commit ea3f25b64e
6 changed files with 24 additions and 265 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6abfd2fca104aae64ce9d027dd233fc218a58b861176a64831b68e3f90ab56a9
size 1254596

3
gnome-shell-3.4.2.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3807f7882968d032f8f5c64b0e0af51c0d016f2e1c4fd1576203c9350e412720
size 1257612

View File

@ -1,178 +0,0 @@
From 406db1902c7d32da8b9bfb50dd7779071d571e4f Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Date: Thu, 31 May 2012 09:28:41 +0000
Subject: notificationDaemon.js: convert the hints dict at the beginning of the function
It's used right away to discard some Empathy notifications.
This regression has been introduced during the 3.4 cycle when 'hints' has been
turned to a GVariant.
https://bugzilla.gnome.org/show_bug.cgi?id=675370
---
diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js
index f474fbe..c6a941f 100644
--- a/js/ui/notificationDaemon.js
+++ b/js/ui/notificationDaemon.js
@@ -221,6 +221,13 @@ const NotificationDaemon = new Lang.Class({
let [appName, replacesId, icon, summary, body, actions, hints, timeout] = params;
let id;
+ for (let hint in hints) {
+ // unpack the variants
+ hints[hint] = hints[hint].deep_unpack();
+ }
+
+ hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
+
// Filter out chat, presence, calls and invitation notifications from
// Empathy, since we handle that information from telepathyClient.js
if (appName == 'Empathy' && (hints['category'] == 'im.received' ||
@@ -249,13 +256,6 @@ const NotificationDaemon = new Lang.Class({
}
}
- for (let hint in hints) {
- // unpack the variants
- hints[hint] = hints[hint].deep_unpack();
- }
-
- hints = Params.parse(hints, { urgency: Urgency.NORMAL }, true);
-
// Be compatible with the various hints for image data and image path
// 'image-data' and 'image-path' are the latest name of these hints, introduced in 1.2
--
cgit v0.9.0.2
From 69a63f208e7070111d6436d4b2fa87053ae5ca8f Mon Sep 17 00:00:00 2001
From: Jasper St. Pierre <jstpierre@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
From 42366ab02590d7a572b7366407a18386e7b8f7a0 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@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
From 7e73a52505a4859a8146d7940e77659b874a2f45 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes <guillaume.desmottes@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

View File

@ -1,77 +0,0 @@
From 73f565d27166420bbf4a7bb49a30ea5bf5d98566 Mon Sep 17 00:00:00 2001
From: "Owen W. Taylor" <otaylor@fishsoup.net>
Date: Wed, 4 Apr 2012 17:48:47 -0400
Subject: [PATCH] Link the gnome-shell binary to libgnome-shell-js.so
Depending on the exact linker options and versions, rpath's written
into the binary may, or may not, be honored by dlopen(). Work around
this by simply linking the gnome-shell binary to gnome-shell-js, since
then dlopen() doesn't need to search paths.
https://bugzilla.gnome.org/show_bug.cgi?id=670477
---
src/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 95f1a41..7bafb6a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -187,7 +187,7 @@ libgnome_shell_la_gir_sources = \
gnome_shell_real_SOURCES = \
main.c
gnome_shell_real_CPPFLAGS = $(gnome_shell_cflags)
-gnome_shell_real_LDADD = libgnome-shell.la $(libgnome_shell_la_LIBADD)
+gnome_shell_real_LDADD = libgnome-shell.la libgnome-shell-js.la $(libgnome_shell_la_LIBADD)
gnome_shell_real_DEPENDENCIES = libgnome-shell.la
EXTRA_DIST += test-gapplication.js
--
1.7.9.3
From 4d33ab1a50fa0a61554f4715fc035ea441db8350 Mon Sep 17 00:00:00 2001
From: Alexandre Rostovtsev <tetromino@gentoo.org>
Date: Fri, 6 Apr 2012 14:00:48 -0400
Subject: [PATCH] Prevent the link to libgnome-shell-js.so from being removed
Add a dummy call to shell_js_add_extension_importer() to ensure that the
link to libgnome-shell-js.so is not removed when using -Wl,--as-needed,
which is the default on many distros.
---
src/main.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/src/main.c b/src/main.c
index bac9524..a6fb8f6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -24,6 +24,7 @@
#include "shell-a11y.h"
#include "shell-global.h"
#include "shell-global-private.h"
+#include "shell-js.h"
#include "shell-perf-log.h"
#include "st.h"
@@ -342,3 +343,17 @@ main (int argc, char **argv)
return ecode;
}
+
+/* HACK:
+ Add a dummy function that calls into libgnome-shell-js.so to ensure it's
+ linked to /usr/bin/gnome-shell even when linking with --as-needed.
+ This function is never actually called.
+ https://bugzilla.gnome.org/show_bug.cgi?id=670477
+*/
+
+void
+_shell_link_to_shell_js (void)
+{
+ shell_js_add_extension_importer (NULL, NULL, NULL, NULL);
+}
+
--
1.7.8.5

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Sat Jul 21 11:23:03 UTC 2012 - badshah400@gmail.com
- Update to version 3.4.2:
+ Mirror Evolution calendar settings into our own schema
[bgo#674424]
+ gdm: don't fail if fprintd unavailable [bgo#675006]
+ Fix broken extension loading [bgo#670477]
+ Fix filtering of Empathy notifications [bgo#675370]
+ telepathyClient: Ignore invalidated channels [bgo#677457]
+ popupMenu: Fix freeze when appMenu is not populated in one go
[bgo#676447]
+ mount-operation: fix exceptions when showing password entry
[bgo#678428]
+ Misc. fixes [bgo#677441, bgo#676175]
- Drop gnome-shell-load-ext.patch: committed upstream
- Drop gnome-shell-chat-notifications-fix.patch: committed
upstream.
-------------------------------------------------------------------
Thu Jul 19 17:53:07 UTC 2012 - badshah400@gmail.com

View File

@ -17,21 +17,17 @@
Name: gnome-shell
Version: 3.4.1
Version: 3.4.2
Release: 0
Summary: GNOME Shell
License: GPL-2.0+
Group: System/GUI/GNOME
Url: http://live.gnome.org/GnomeShell
Source: http://download.gnome.org/sources/gnome-shell/3.4/%{name}-%{version}.tar.xz
# PATCH-FIX-OPENSUSE gnome-shell-load-ext.patch bnc#755862 bgo#670477 dimstar@opensuse.org - Ensure libgnome-shell-js.so is linked to gnome-shell. Upstream considers this not a bug.
Patch0: gnome-shell-load-ext.patch
# PATCH-FIX-UPSTREAM gnome-shell-private-connection.patch bnc#751211 bgo#646187 dimstar@opensuse.org -- create private connections if the user is not authorized
Patch1: gnome-shell-private-connection.patch
# PATCH-FIX-UPSTREAM gnome-shell-fix-memory-leaks.patch bnc#771565 bgo#678079 bgo#678406 badshah400@gmail.com -- Fix several memory leaks in gnome-shell; all patches came from upstream git
Patch2: gnome-shell-fix-memory-leaks.patch
# PATCH-FIX-UPSTREAM gnome-shell-chat-notifications-fix.patch bgo#675370 bgo#676175 bgo#677457 badshah400@gmail.com -- Fix several problems with chat notifications in gnome-shell including a regression introduced in the 3.4.x series; all patches came from upstream git
Patch3: gnome-shell-chat-notifications-fix.patch
# Needed by patch0
BuildRequires: gnome-common
BuildRequires: intltool
@ -134,10 +130,8 @@ to enable, disable and install them.
%lang_package
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
translation-update-upstream
%build
@ -193,6 +187,7 @@ rm -rf %{buildroot}
%{_datadir}/dbus-1/services/org.gnome.Shell.CalendarServer.service
%{_datadir}/dbus-1/services/org.gnome.Shell.HotplugSniffer.service
%{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.shell.evolution.calendar.gschema.xml
%{_datadir}/gnome-shell/
%dir %{_datadir}/gnome-shell/extensions
%dir %{_datadir}/gnome-shell/search-providers