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:
@ -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];
|
||||
|
Reference in New Issue
Block a user