summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2021-11-01 18:01:54 +0000
committerMichael Drake <tlsa@netsurf-browser.org>2021-11-02 13:37:13 +0000
commit6a5c2a60d82fa39d1d653ced3c25eb15b3a0007f (patch)
tree702ab4511ca92cc90490f7126b9d4b9d4b977d96 /src
parent2aa9bae406866de8dfeea142e4e02c619a20ae23 (diff)
downloadlibnsgif-6a5c2a60d82fa39d1d653ced3c25eb15b3a0007f.tar.gz
libnsgif-6a5c2a60d82fa39d1d653ced3c25eb15b3a0007f.tar.bz2
GIF: Move redraw-required check to extension handler.
Diffstat (limited to 'src')
-rw-r--r--src/libnsgif.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/libnsgif.c b/src/libnsgif.c
index c886bf8..a67e87f 100644
--- a/src/libnsgif.c
+++ b/src/libnsgif.c
@@ -156,6 +156,13 @@ gif_initialise_frame_extensions(gif_animation *gif, const int frame)
if (gif->frames[frame].disposal_method == GIF_FRAME_QUIRKS_RESTORE) {
gif->frames[frame].disposal_method = GIF_FRAME_RESTORE;
}
+
+ /* if we are clearing the background then we need to
+ * redraw enough to cover the previous frame too
+ */
+ gif->frames[frame].redraw_required =
+ ((gif->frames[frame].disposal_method == GIF_FRAME_CLEAR) ||
+ (gif->frames[frame].disposal_method == GIF_FRAME_RESTORE));
gif_data += (2 + gif_data[1]);
break;
@@ -447,13 +454,6 @@ static gif_result gif_initialise_frame(gif_animation *gif)
width = gif->frames[frame].redraw_width;
height = gif->frames[frame].redraw_height;
- /* if we are clearing the background then we need to redraw enough to
- * cover the previous frame too
- */
- gif->frames[frame].redraw_required =
- ((gif->frames[frame].disposal_method == GIF_FRAME_CLEAR) ||
- (gif->frames[frame].disposal_method == GIF_FRAME_RESTORE));
-
/* Frame size may have grown.
*/
gif->width = (offset_x + width > gif->width) ?