summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libnsgif.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libnsgif.c b/libnsgif.c
index 8079347..1eb46c5 100644
--- a/libnsgif.c
+++ b/libnsgif.c
@@ -992,7 +992,10 @@ gif_result gif_decode_frame(gif_animation *gif, unsigned int frame) {
if (gif->frames[frame].disposal_method == GIF_FRAME_CLEAR) {
for (y = 0; y < height; y++) {
frame_scanline = frame_data + offset_x + ((offset_y + y) * gif->width);
- memset(frame_scanline, colour_table[gif->background_index], width * 4);
+ if (gif->frames[frame].transparency)
+ memset(frame_scanline, GIF_TRANSPARENT_COLOUR, width * 4);
+ else
+ memset(frame_scanline, colour_table[gif->background_index], width * 4);
}
}
}