diff -Nru gnome-shell-3.6.2/debian/changelog gnome-shell-3.6.2/debian/changelog --- gnome-shell-3.6.2/debian/changelog 2012-11-26 04:51:47.000000000 +1100 +++ gnome-shell-3.6.2/debian/changelog 2012-11-27 08:31:24.000000000 +1100 @@ -1,3 +1,11 @@ +gnome-shell (3.6.2-0ubuntu3) raring; urgency=low + + * Upstream bugfix for disappearing message tray (LP: #1067265) + debian/patches/git_messagetray_remove_tweens.patch + debian/patches/git_messagetray_opacity_fix.patch + + -- Tim Lunn Tue, 27 Nov 2012 08:27:57 +1100 + gnome-shell (3.6.2-0ubuntu2) raring; urgency=low * debian/control.in: diff -Nru gnome-shell-3.6.2/debian/control gnome-shell-3.6.2/debian/control --- gnome-shell-3.6.2/debian/control 2012-11-26 04:51:50.000000000 +1100 +++ gnome-shell-3.6.2/debian/control 2012-11-27 08:32:52.000000000 +1100 @@ -7,7 +7,7 @@ Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Debian GNOME Maintainers -Uploaders: Debian GNOME Maintainers , Jeremy Bicha , Josselin Mouette , Laurent Bigonville , Sjoerd Simons +Uploaders: Debian GNOME Maintainers , Jeremy Bicha , Josselin Mouette , Sjoerd Simons Build-Depends: autotools-dev, cdbs, debhelper (>= 8.1.3~), diff -Nru gnome-shell-3.6.2/debian/patches/git_messagetray_opacity_fix.patch gnome-shell-3.6.2/debian/patches/git_messagetray_opacity_fix.patch --- gnome-shell-3.6.2/debian/patches/git_messagetray_opacity_fix.patch 1970-01-01 10:00:00.000000000 +1000 +++ gnome-shell-3.6.2/debian/patches/git_messagetray_opacity_fix.patch 2012-11-27 08:12:21.000000000 +1100 @@ -0,0 +1,39 @@ +Backport bugfix from 3.7 dev branch. + +From b121c2518403bc5ea991b3f1c4b00188c8d590b4 Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna +Date: Mon, 19 Nov 2012 17:59:39 +0000 +Subject: MessageTray: restore opacity when expanding a notification + +MessageTray tweens both opacity and y to hide or show _notificationWidget, +but only y when expanding it. This means that an existing tween to hide +the notification will continue running, clearing the notification state. +If the hiding one completes before the showing one, the onComplete handler +will throw an exception (because the notification was nullified) and +therefore break the state tracking. + +https://bugzilla.gnome.org/show_bug.cgi?id=683986 +--- + js/ui/messageTray.js | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js +index d642c34..a027891 100644 +--- a/js/ui/messageTray.js ++++ b/js/ui/messageTray.js +@@ -2408,8 +2408,13 @@ const MessageTray = new Lang.Class({ + if (this._notificationWidget.y < expandedY) { + this._notificationWidget.y = expandedY; + } else if (this._notification.y != expandedY) { ++ // Tween also opacity here, to override a possible tween that's ++ // currently hiding the notification. This will ensure that the ++ // notification is not removed when the onComplete handler for this ++ // one triggers. + this._tween(this._notificationWidget, '_notificationState', State.SHOWN, + { y: expandedY, ++ opacity: 255, + time: ANIMATION_TIME, + transition: 'easeOutQuad' + }); +-- +1.8.0 diff -Nru gnome-shell-3.6.2/debian/patches/git_messagetray_remove_tweens.patch gnome-shell-3.6.2/debian/patches/git_messagetray_remove_tweens.patch --- gnome-shell-3.6.2/debian/patches/git_messagetray_remove_tweens.patch 1970-01-01 10:00:00.000000000 +1000 +++ gnome-shell-3.6.2/debian/patches/git_messagetray_remove_tweens.patch 2012-11-27 08:27:25.000000000 +1100 @@ -0,0 +1,29 @@ +Backport bugfix from 3.7 dev branch. + +From 1a27d7dfc02c06bd0ccf4258a9108207b8832ce4 Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna +Date: Sun, 25 Nov 2012 22:51:44 +0000 +Subject: MessageTray: remove all tweens when tweening for state parameters + +MessageTray._tween sets the state variable to the in-progress value, +so it must be sure that at the end of the animation the value will +be the corresponding final and nothing else will happen in between. + +https://bugzilla.gnome.org/show_bug.cgi?id=683986 +--- +diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js +index 061135a..0241dbd 100644 +--- a/js/ui/messageTray.js ++++ b/js/ui/messageTray.js +@@ -2108,6 +2108,8 @@ const MessageTray = new Lang.Class({ + params.onCompleteScope = this; + params.onCompleteParams = [statevar, value, onComplete, onCompleteScope, onCompleteParams]; + ++ // Remove other tweens that could mess with the state machine ++ Tweener.removeTweens(actor); + Tweener.addTween(actor, params); + + let valuing = (value == State.SHOWN) ? State.SHOWING : State.HIDING; +-- +cgit v0.9.0.2 + diff -Nru gnome-shell-3.6.2/debian/patches/series gnome-shell-3.6.2/debian/patches/series --- gnome-shell-3.6.2/debian/patches/series 2012-11-26 04:51:47.000000000 +1100 +++ gnome-shell-3.6.2/debian/patches/series 2012-11-27 08:19:11.000000000 +1100 @@ -6,3 +6,5 @@ ubuntu-lightdm-user-switching.patch ubuntu_lock_on_suspend.patch git-set-ally-wm-theme.patch +git_messagetray_opacity_fix.patch +git_messagetray_remove_tweens.patch