overview: Start animation after setting coverPane initial state
Since commit 7bd98f3f5f
the onComplete callback
is called right away when animations are disabled. As side effect, now
this._coverPane gets shown/hidden in the wrong order. Start the animation after
setting this._coverPane initial state, so that the animation callback can set the
this._coverPane final state without it being overwritten later.
Move the animation also after emitting the showing and hiding signals. So that the
order showing -> shown and hiding -> hidden is still preserved when animations are
disabled.
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6096
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2532>
This commit is contained in:
parent
f23ca85f79
commit
cf47b4a347
@ -519,13 +519,13 @@ var Overview = class extends Signals.EventEmitter {
|
|||||||
|
|
||||||
Meta.disable_unredirect_for_display(global.display);
|
Meta.disable_unredirect_for_display(global.display);
|
||||||
|
|
||||||
this._overview.prepareToEnterOverview();
|
|
||||||
this._overview.animateToOverview(state, () => this._showDone());
|
|
||||||
|
|
||||||
Main.layoutManager.overviewGroup.set_child_above_sibling(
|
Main.layoutManager.overviewGroup.set_child_above_sibling(
|
||||||
this._coverPane, null);
|
this._coverPane, null);
|
||||||
this._coverPane.show();
|
this._coverPane.show();
|
||||||
|
|
||||||
|
this._overview.prepareToEnterOverview();
|
||||||
this.emit('showing');
|
this.emit('showing');
|
||||||
|
this._overview.animateToOverview(state, () => this._showDone());
|
||||||
}
|
}
|
||||||
|
|
||||||
_showDone() {
|
_showDone() {
|
||||||
@ -573,13 +573,13 @@ var Overview = class extends Signals.EventEmitter {
|
|||||||
this._animationInProgress = true;
|
this._animationInProgress = true;
|
||||||
this._visibleTarget = false;
|
this._visibleTarget = false;
|
||||||
|
|
||||||
this._overview.prepareToLeaveOverview();
|
|
||||||
this._overview.animateFromOverview(() => this._hideDone());
|
|
||||||
|
|
||||||
Main.layoutManager.overviewGroup.set_child_above_sibling(
|
Main.layoutManager.overviewGroup.set_child_above_sibling(
|
||||||
this._coverPane, null);
|
this._coverPane, null);
|
||||||
this._coverPane.show();
|
this._coverPane.show();
|
||||||
|
|
||||||
|
this._overview.prepareToLeaveOverview();
|
||||||
this.emit('hiding');
|
this.emit('hiding');
|
||||||
|
this._overview.animateFromOverview(() => this._hideDone());
|
||||||
}
|
}
|
||||||
|
|
||||||
_hideDone() {
|
_hideDone() {
|
||||||
|
Loading…
Reference in New Issue
Block a user