userMenu: Don't update the presence icon immediately

If we don't freeze the presence icon, we can end up in a place where
we'll be updating the icon before we fade out the panel indicators when
coming back from the lock screen.

https://bugzilla.gnome.org/show_bug.cgi?id=683156
This commit is contained in:
Jasper St. Pierre
2012-09-01 19:15:42 -03:00
parent ec01f5d5ee
commit f1ca96bbf0
3 changed files with 35 additions and 2 deletions

View File

@ -1131,7 +1131,7 @@ const Panel = new Lang.Class({
},
_tweenAndUpdatePanel: function() {
this._closeIndicatorMenus();
this._freezeAndCloseIndicators();
Tweener.addTween(this, {
boxOpacity: 0,
@ -1140,6 +1140,7 @@ const Panel = new Lang.Class({
onCompleteScope: this,
onComplete: function() {
this._updatePanel();
this._thawIndicators();
Tweener.addTween(this, {
boxOpacity: 255,
time: Overview.ANIMATION_TIME / 2,
@ -1153,13 +1154,21 @@ const Panel = new Lang.Class({
this._tweenAndUpdatePanel();
},
_closeIndicatorMenus: function() {
_freezeAndCloseIndicators: function() {
for (let role in this.statusArea) {
let indicator = this.statusArea[role];
indicator.freeze();
indicator.menu.close();
}
},
_thawIndicators: function() {
for (let role in this.statusArea) {
let indicator = this.statusArea[role];
indicator.thaw();
}
},
_hideIndicators: function() {
for (let role in PANEL_ITEM_IMPLEMENTATIONS) {
let indicator = this.statusArea[role];