summaryrefslogtreecommitdiff
path: root/image/gifread.c
diff options
context:
space:
mode:
Diffstat (limited to 'image/gifread.c')
-rw-r--r--image/gifread.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/image/gifread.c b/image/gifread.c
index 80ea97d24..4e38fc989 100644
--- a/image/gifread.c
+++ b/image/gifread.c
@@ -802,6 +802,7 @@ gif_decode_frame_exit:
gif->frames[frame].virgin = false;
}
bitmap_set_opaque(gif->frame_image, gif->frames[frame].opaque);
+ bitmap_modified(gif->frame_image);
/* Restore the buffer position
*/
@@ -828,7 +829,8 @@ static unsigned int gif_interlaced_line(int height, int y) {
void gif_finalise(struct gif_animation *gif) {
/* Release all our memory blocks
*/
- free(gif->frame_image);
+ if (gif->frame_image)
+ bitmap_destroy(gif->frame_image);
gif->frame_image = NULL;
free(gif->frames);
gif->frames = NULL;