emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master a987e66e6b: Improve DISPOSE_PREVIOUS in gif_load slightly


From: Lars Ingebrigtsen
Subject: master a987e66e6b: Improve DISPOSE_PREVIOUS in gif_load slightly
Date: Tue, 12 Apr 2022 10:22:44 -0400 (EDT)

branch: master
commit a987e66e6ba014795ba4540c5fedeb9894bdd94e
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Improve DISPOSE_PREVIOUS in gif_load slightly
    
    * src/image.c (gif_load): Tweak how DISPOSE_PREVIOUS is handled.
    It's still not right, but it's less glaringly wrong.
---
 src/image.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/image.c b/src/image.c
index 530819eab9..45de7ae83d 100644
--- a/src/image.c
+++ b/src/image.c
@@ -9115,6 +9115,14 @@ gif_load (struct frame *f, struct image *img)
       if (disposal == DISPOSAL_UNSPECIFIED)
        disposal = DISPOSE_DO_NOT;
 
+      /* This is not quite correct -- the specification is unclear,
+        but I think we're supposed to restore to the frame before the
+        previous frame?  And we don't have that data at this point.
+        But DISPOSE_DO_NOT is less wrong than substituting the
+        background, so do that for now.  */
+      if (disposal == DISPOSE_PREVIOUS)
+       disposal = DISPOSE_DO_NOT;
+
       gif_color_map = subimage->ImageDesc.ColorMap;
       if (!gif_color_map)
        gif_color_map = gif->SColorMap;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]