Gitweb links:
...log
http://git.netsurf-browser.org/libnsgif.git/shortlog/3665353c4da1dfb7b4a1...
...commit
http://git.netsurf-browser.org/libnsgif.git/commit/3665353c4da1dfb7b4a1d9...
...tree
http://git.netsurf-browser.org/libnsgif.git/tree/3665353c4da1dfb7b4a1d9fa...
The branch, master has been updated
via 3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2 (commit)
from e5802bc82dd3b85eec48437c44a299457f6b3b3c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/libnsgif.git/commit/?id=3665353c4da1dfb7b4...
commit 3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2
Author: John Cupitt <jcupitt(a)gmail.com>
Commit: Michael Drake <michael.drake(a)codethink.co.uk>
fix libnsgif restore/record ordering
diff --git a/src/libnsgif.c b/src/libnsgif.c
index 479d161..49e790a 100644
--- a/src/libnsgif.c
+++ b/src/libnsgif.c
@@ -680,11 +680,6 @@ gif_internal_decode_frame(gif_animation *gif,
return GIF_OK;
}
- if (gif->frames[frame].disposal_method == GIF_FRAME_RESTORE) {
- /* Store the previous frame for later restoration */
- gif__record_previous_frame(gif);
- }
-
/* Get the start of our frame data and the end of the GIF data */
gif_data = gif->gif_data + gif->frames[frame].frame_pointer;
gif_end = gif->gif_data + gif->buffer_size;
@@ -873,6 +868,12 @@ gif_internal_decode_frame(gif_animation *gif,
gif->width * gif->height * sizeof(int));
}
}
+
+ if (gif->frames[frame].disposal_method == GIF_FRAME_RESTORE) {
+ /* Store the previous frame for later restoration */
+ gif__record_previous_frame(gif);
+ }
+
gif->decoded_frame = frame;
gif->buffer_position = (gif_data - gif->gif_data) + 1;
-----------------------------------------------------------------------
Summary of changes:
src/libnsgif.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/libnsgif.c b/src/libnsgif.c
index 479d161..49e790a 100644
--- a/src/libnsgif.c
+++ b/src/libnsgif.c
@@ -680,11 +680,6 @@ gif_internal_decode_frame(gif_animation *gif,
return GIF_OK;
}
- if (gif->frames[frame].disposal_method == GIF_FRAME_RESTORE) {
- /* Store the previous frame for later restoration */
- gif__record_previous_frame(gif);
- }
-
/* Get the start of our frame data and the end of the GIF data */
gif_data = gif->gif_data + gif->frames[frame].frame_pointer;
gif_end = gif->gif_data + gif->buffer_size;
@@ -873,6 +868,12 @@ gif_internal_decode_frame(gif_animation *gif,
gif->width * gif->height * sizeof(int));
}
}
+
+ if (gif->frames[frame].disposal_method == GIF_FRAME_RESTORE) {
+ /* Store the previous frame for later restoration */
+ gif__record_previous_frame(gif);
+ }
+
gif->decoded_frame = frame;
gif->buffer_position = (gif_data - gif->gif_data) + 1;
--
NetSurf GIF Decoder