viewSelector: Use onStopped callback when fading out pages

With 8b368d010 we fixed a bug where the onComplete callback was always
called no matter whether the transition was interrupted before or not.
This exposed another bug: viewSelector depends on this behaviour when
fading out pages: After fading out a page, we call `this._animateIn` to
show the new page. Now if the fade-out animation gets interrupted, with
the correct behaviour of onComplete we end up not showing a new page and
the viewSelector remains empty instead. One case where this happens is
when pressing a key to start a search during the overview-animation.

Obviously we also want to show the new page in case the fade-out
animation was interrupted, so use the onStopped callback instead of the
onComplete callback here.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/674
This commit is contained in:
Jonas Dreßler 2019-08-08 21:09:06 +02:00 committed by Florian Müllner
parent 826ac95726
commit ada01507a4

View File

@ -334,7 +334,7 @@ var ViewSelector = class {
opacity: 0, opacity: 0,
duration: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME, duration: OverviewControls.SIDE_CONTROLS_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD, mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => this._animateIn(oldPage) onStopped: () => this._animateIn(oldPage)
}); });
} }