util: Don't wiggle when animations are disabled

repeatCount and autoReverse don't play well with animations disabled:
They cause password entries to wiggle themselves off-screen (by ending
up with some off-scale translation-x value).

While we should handle this more gracefully in the transition helpers,
it also makes sense to handle the case directly in wiggle(): As it
uses a chain of three transitions, we would still end up with a crude
one-frame-per-transition wiggle "animation".

Instead, do no animation at all as you would expect when animations are
disabled.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2236
This commit is contained in:
Florian Müllner 2020-02-22 14:25:37 +01:00 committed by Carlos Garnacho
parent 1d39afabdc
commit 4759197200

View File

@ -445,6 +445,9 @@ function ensureActorVisibleInScrollView(scrollView, actor) {
}
function wiggle(actor, params) {
if (!St.Settings.get().enable_animations)
return;
params = Params.parse(params, {
offset: WIGGLE_OFFSET,
duration: WIGGLE_DURATION,