From eeea8559b69e1cae87f89d6dd60ed8d2ef5deb51 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Thu, 14 Mar 2013 16:58:20 -0400 Subject: [PATCH] background: Fix math to calculate the interval from the duration The math here before was incorrect. This is still wrong, as we're looking at the total duration of the animation rather than the next step. https://bugzilla.gnome.org/show_bug.cgi?id=695882 --- js/ui/background.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/js/ui/background.js b/js/ui/background.js index 9e3e0099d..bf8757eac 100644 --- a/js/ui/background.js +++ b/js/ui/background.js @@ -442,8 +442,11 @@ const Background = new Lang.Class({ if (!this._animation.duration) return; + let nSteps = 255 / ANIMATION_OPACITY_STEP_INCREMENT; + let timePerStep = (this._animation.duration * 1000) / nSteps; + let interval = Math.max(ANIMATION_MIN_WAKEUP_INTERVAL * 1000, - ANIMATION_OPACITY_STEP_INCREMENT / this._animation.duration); + timePerStep); this._animationUpdateTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, interval, Lang.bind(this, function() {