diff options
Diffstat (limited to 'src/image.c')
-rw-r--r-- | src/image.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/image.c b/src/image.c index 530819eab9d..45de7ae83d3 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; |