GNU bug report logs - #6258
create-animated-image hangs

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> jurta.org>

Date: Mon, 24 May 2010 16:13:02 UTC

Severity: normal

Tags: patch

Done: Juri Linkov <juri <at> jurta.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Juri Linkov <juri <at> jurta.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#6258: closed (create-animated-image hangs)
Date: Tue, 25 May 2010 16:12:03 +0000
[Message part 1 (text/plain, inline)]
Your message dated Tue, 25 May 2010 18:57:45 +0300
with message-id <87r5l0rn2e.fsf <at> mail.jurta.org>
and subject line Re: bug#6258: create-animated-image hangs
has caused the GNU bug report #6258,
regarding create-animated-image hangs
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
6258: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6258
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: bug-gnu-emacs <at> gnu.org
Subject: create-animated-image hangs
Date: Mon, 24 May 2010 19:03:21 +0300
When the delay between images in an animated GIF file is 0,
then calls for `run-with-timer' without delay hangs up.
Replacing it with `run-with-idle-timer' doesn't help.
An example of the animated GIF that hangs up is
http://en.wikipedia.org/wiki/File:Animated_glider_emblem.gif

This patch makes a short delay (0.1 sec) in this case.
Visually its speed looks the same as the speed of changing
images in Firefox when an animated GIF has no delay.

=== modified file 'lisp/image.el'
--- lisp/image.el	2010-04-02 23:28:46 +0000
+++ lisp/image.el	2010-05-24 16:01:45 +0000
@@ -684,10 +684,13 @@ (defun image-animated-p (image)
     (let* ((metadata (image-metadata image))
 	   (images (plist-get metadata 'count))
 	   (extdata (plist-get metadata 'extension-data))
-	   (anim (plist-get extdata #xF9)))
-      (and (integerp images) (> images 1)
-	   (stringp anim) (>= (length anim) 4)
-	   (cons images (+ (aref anim 1) (* (aref anim 2) 256))))))))
+	   (anim (plist-get extdata #xF9))
+	   (tmo (and (integerp images) (> images 1)
+		     (stringp anim) (>= (length anim) 4)
+		     (+ (aref anim 1) (* (aref anim 2) 256)))))
+      (when tmo
+	(if (eq tmo 0) (setq tmo 10))
+	(cons images tmo))))))
 
 
 (provide 'image)

-- 
Juri Linkov
http://www.jurta.org/emacs/


[Message part 3 (message/rfc822, inline)]
From: Juri Linkov <juri <at> jurta.org>
To: 6258-done <at> debbugs.gnu.org
Subject: Re: bug#6258: create-animated-image hangs
Date: Tue, 25 May 2010 18:57:45 +0300
> This patch makes a short delay (0.1 sec) in this case.

Committed and closed.

-- 
Juri Linkov
http://www.jurta.org/emacs/


This bug report was last modified 15 years and 52 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.