Date: Monday, July 1, 2013 @ 11:10:50 Author: jgc Revision: 189241 upgpkg: gnome-shell 3.8.3-3
Add upstream fixes from git. Includes patch we already applied, a fix for FS#35979 and some other fixes not in our bugtracker Added: gnome-shell/trunk/git-fixes.patch Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch -----------------------------------------------------------------+ 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch | 37 -- PKGBUILD | 10 git-fixes.patch | 125 ++++++++++ 3 files changed, 130 insertions(+), 42 deletions(-) Deleted: 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch =================================================================== --- 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch 2013-07-01 08:23:30 UTC (rev 189240) +++ 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch 2013-07-01 09:10:50 UTC (rev 189241) @@ -1,37 +0,0 @@ -From ace549c1bf1861b4cbaec6f2451a6341aa738bae Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= <[email protected]> -Date: Mon, 24 Jun 2013 18:09:04 +0200 -Subject: [PATCH] st: Be more forgiving when calling get_theme_node() on - unstaged widgets - -While it is obviously still an error to call get_theme_node() on a -widget that hasn't been added to the stage hierarchy yet, asserting -on it hasn't proven too successful in avoiding those errors - it's -likely the most frequent reason for crash reports. Just accept that -there'll always be code paths where we can hit this case and make -it non-fatal. - -https://bugzilla.gnome.org/show_bug.cgi?id=610279 ---- - src/st/st-widget.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/st/st-widget.c b/src/st/st-widget.c -index 42992ec..4875acc 100644 ---- a/src/st/st-widget.c -+++ b/src/st/st-widget.c -@@ -608,8 +608,9 @@ st_widget_get_theme_node (StWidget *widget) - - if (stage == NULL) - { -- g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.", -- st_describe_actor (CLUTTER_ACTOR (widget))); -+ g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.", -+ st_describe_actor (CLUTTER_ACTOR (widget))); -+ return g_object_new (ST_TYPE_THEME_NODE, NULL); - } - - if (parent_node == NULL) --- -1.8.3.1 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2013-07-01 08:23:30 UTC (rev 189240) +++ PKGBUILD 2013-07-01 09:10:50 UTC (rev 189241) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.8.3 -pkgrel=2 +pkgrel=3 pkgdesc="The next generation GNOME Shell" arch=(i686 x86_64) url="http://live.gnome.org/GnomeShell" @@ -20,10 +20,10 @@ groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz nm-libexecdir.patch - 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch) + git-fixes.patch) sha256sums=('145724f21ead9dbe0c39d3ab468b39264c7aaf3f0fa5d152b295d905d8339c22' 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607' - 'c5f0c9b071d5c31e11289c45743e1f82f6bba8201a28e0efb7a197f57cbb2105') + '3e08176d55c000eb88660349a4325e8134f4def66ef83efc7f45f0fb34a06e1c') prepare() { cd $pkgname-$pkgver @@ -31,8 +31,8 @@ # FS#30747 FS#32730 Problems due to libexecdir different from NM patch -Np1 -i ../nm-libexecdir.patch - # FS#35174 Nautilus crashes GS - patch -Np1 -i ../0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch + # Git fixes - up to 60225ef86d070a7999bd6cded43837ca87d3f24f + patch -Np1 -i ../git-fixes.patch } build() { Added: git-fixes.patch =================================================================== --- git-fixes.patch (rev 0) +++ git-fixes.patch 2013-07-01 09:10:50 UTC (rev 189241) @@ -0,0 +1,125 @@ +diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css +index 775b687..f4ea781 100644 +--- a/data/theme/gnome-shell.css ++++ b/data/theme/gnome-shell.css +@@ -2312,6 +2312,7 @@ StScrollBar StButton#vhandle:active { + font-weight: bold; + color: #666666; + padding-top: 1em; ++ padding-left: 2px; + } + + .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, +diff --git a/js/gdm/util.js b/js/gdm/util.js +index 6075e66..cae3e1b 100644 +--- a/js/gdm/util.js ++++ b/js/gdm/util.js +@@ -164,6 +164,7 @@ const ShellUserVerifier = new Lang.Class({ + + answerQuery: function(serviceName, answer) { + if (!this._userVerifier.hasPendingMessages) { ++ this._clearMessageQueue(); + this._userVerifier.call_answer_query(serviceName, answer, this._cancellable, null); + } else { + let signalId = this._userVerifier.connect('no-more-messages', +diff --git a/js/ui/components/telepathyClient.js b/js/ui/components/telepathyClient.js +index b07ea95..72bc010 100644 +--- a/js/ui/components/telepathyClient.js ++++ b/js/ui/components/telepathyClient.js +@@ -18,7 +18,7 @@ const Params = imports.misc.params; + const PopupMenu = imports.ui.popupMenu; + + // See Notification.appendMessage +-const SCROLLBACK_IMMEDIATE_TIME = 60; // 1 minute ++const SCROLLBACK_IMMEDIATE_TIME = 3 * 60; // 3 minutes + const SCROLLBACK_RECENT_TIME = 15 * 60; // 15 minutes + const SCROLLBACK_RECENT_LENGTH = 20; + const SCROLLBACK_IDLE_LENGTH = 5; +@@ -967,7 +967,8 @@ const ChatNotification = new Lang.Class({ + let timeLabel = this._append({ body: this._formatTimestamp(lastMessageDate), + group: 'meta', + styles: ['chat-meta-message'], +- childProps: { expand: true, x_fill: false }, ++ childProps: { expand: true, x_fill: false, ++ x_align: St.Align.END }, + noTimestamp: true, + timestamp: lastMessageTime }); + +diff --git a/js/ui/endSessionDialog.js b/js/ui/endSessionDialog.js +index d322581..ed61bf7 100644 +--- a/js/ui/endSessionDialog.js ++++ b/js/ui/endSessionDialog.js +@@ -420,6 +420,7 @@ const EndSessionDialog = new Lang.Class({ + _startTimer: function() { + let startTime = GLib.get_monotonic_time(); + this._secondsLeft = this._totalSecondsToStayOpen; ++ this._updateDescription(); + + this._timerId = Mainloop.timeout_add_seconds(1, Lang.bind(this, + function() { +diff --git a/js/ui/layout.js b/js/ui/layout.js +index 0bb887e..e25b3bd 100644 +--- a/js/ui/layout.js ++++ b/js/ui/layout.js +@@ -728,6 +728,8 @@ const LayoutManager = new Lang.Class({ + // and shown otherwise) + addChrome: function(actor, params) { + this.uiGroup.add_actor(actor); ++ if (this.uiGroup.contains(global.top_window_group)) ++ this.uiGroup.set_child_below_sibling(actor, global.top_window_group); + this._trackActor(actor, params); + }, + +diff --git a/js/ui/osdWindow.js b/js/ui/osdWindow.js +index 7e7b536..7fa052e 100644 +--- a/js/ui/osdWindow.js ++++ b/js/ui/osdWindow.js +@@ -167,14 +167,17 @@ const OsdWindow = new Lang.Class({ + { opacity: 0, + time: FADE_TIME, + transition: 'easeOutQuad', +- onComplete: Lang.bind(this, this._reset) }); ++ onComplete: Lang.bind(this, function() { ++ this._reset(); ++ Meta.enable_unredirect_for_screen(global.screen); ++ }) ++ }); + }, + + _reset: function() { + this.actor.hide(); + this.setLabel(null); + this.setLevel(null); +- Meta.enable_unredirect_for_screen(global.screen); + }, + + _monitorsChanged: function() { +diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js +index fe9cd31..4264f01 100644 +--- a/js/ui/screenShield.js ++++ b/js/ui/screenShield.js +@@ -709,6 +709,8 @@ const ScreenShield = new Lang.Class({ + }, + + _onDragEnd: function(action, actor, eventX, eventY, modifiers) { ++ if (this._lockScreenState != MessageTray.State.HIDING) ++ return; + if (this._lockScreenGroup.y < -(ARROW_DRAG_THRESHOLD * global.stage.height)) { + // Complete motion automatically + let [velocity, velocityX, velocityY] = this._dragAction.get_velocity(0); +diff --git a/src/st/st-widget.c b/src/st/st-widget.c +index 42992ec..4875acc 100644 +--- a/src/st/st-widget.c ++++ b/src/st/st-widget.c +@@ -608,8 +608,9 @@ st_widget_get_theme_node (StWidget *widget) + + if (stage == NULL) + { +- g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.", +- st_describe_actor (CLUTTER_ACTOR (widget))); ++ g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.", ++ st_describe_actor (CLUTTER_ACTOR (widget))); ++ return g_object_new (ST_TYPE_THEME_NODE, NULL); + } + + if (parent_node == NULL)
