[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/image.c
From: |
YAMAMOTO Mitsuharu |
Subject: |
[Emacs-diffs] Changes to emacs/src/image.c |
Date: |
Wed, 10 May 2006 08:23:20 +0000 |
Index: emacs/src/image.c
diff -u emacs/src/image.c:1.56 emacs/src/image.c:1.57
--- emacs/src/image.c:1.56 Sat May 6 06:52:24 2006
+++ emacs/src/image.c Wed May 10 08:23:20 2006
@@ -7899,8 +7899,6 @@
#else /* !HAVE_GIF */
#ifdef MAC_OS
-static Lisp_Object Qduration;
-
static int
gif_load (f, img)
struct frame *f;
@@ -8067,9 +8065,21 @@
DisposeHandle (dh);
/* Save GIF image extension data for `image-extension-data'.
- Format is (count IMAGES duration DURATION). */
- img->data.lisp_val = list4 (Qcount, make_number (nsamples), Qduration,
- make_float ((double)duration / time_scale));
+ Format is (count IMAGES 0xf9 GRAPHIC_CONTROL_EXTENSION_BLOCK). */
+ {
+ unsigned char gce[4];
+ int centisec = ((float)duration / time_scale) * 100.0f + 0.5f;
+
+ /* Fill the delay time field. */
+ gce[1] = centisec & 0xff;
+ gce[2] = (centisec >> 8) & 0xff;
+ /* We don't know about other fields. */
+ gce[0] = gce[3] = 0;
+
+ img->data.lisp_val = list4 (Qcount, make_number (nsamples),
+ make_number (0xf9),
+ make_unibyte_string (gce, 4));
+ }
/* Maybe fill in the background field while we have ximg handy. */
if (NILP (image_spec_value (img->spec, QCbackground, NULL)))
@@ -8626,11 +8636,6 @@
ADD_IMAGE_TYPE(Qgif);
#endif
-#ifdef MAC_OS
- Qduration = intern ("duration");
- staticpro (&Qduration);
-#endif
-
#if defined (HAVE_PNG) || defined (MAC_OS)
Qpng = intern ("png");
staticpro (&Qpng);