Gitweb links:

...log 
http://git.netsurf-browser.org/libnsgif.git/shortlog/3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2
...commit 
http://git.netsurf-browser.org/libnsgif.git/commit/3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2
...tree 
http://git.netsurf-browser.org/libnsgif.git/tree/3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2

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=3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2
commit 3665353c4da1dfb7b4a1d9fa412f0dec2cb673d2
Author: John Cupitt <[email protected]>
Commit: Michael Drake <[email protected]>

    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
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to