Subject: Re: bug#24004: 25.1.50; Animated images are no longer animated
From: Katsumi Yamaoka <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Tue, 19 Jul 2016 16:35:29 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

On Sat, 16 Jul 2016 13:01:04 +0200, Lars wrote:
> Test to reproduce:

> `M-x eww RET
> https://dropboxtechblog.files.wordpress.com/2016/07/lepton-4.gif RET'

> That's an animated GIF, but Emacs does not animate it.  I don't know
> when this started happening.

Started with 9c969e1.  In the beginning of `image-animate-timeout',
the 1st `when' will always get nil:

(defun image-animate-timeout (image n count time-elapsed limit target-time)
  "docstring"
  (when (and (buffer-live-p (plist-get (cdr image) :animate-buffer))
             ;; Delayed more than two seconds more than expected.
             (when (> (- (float-time) target-time) 2)
               (message "Stopping animation; animation possibly too big")
               nil))

So, the animation will never proceed.  I've fixed the logic as:

(defun image-animate-timeout (image n count time-elapsed limit target-time)
  "docstring"
  (when (and (buffer-live-p (plist-get (cdr image) :animate-buffer))
             ;; Delayed more than two seconds more than expected.
             (or (<= (- (float-time) target-time) 2)
                 (progn
                   (message "Stopping animation; animation possibly too big")
                   nil)))