summaryrefslogtreecommitdiff
path: root/image/gif.c
diff options
context:
space:
mode:
authorRichard Wilson <rjw@netsurf-browser.org>2004-11-10 19:51:32 +0000
committerRichard Wilson <rjw@netsurf-browser.org>2004-11-10 19:51:32 +0000
commit542f783b189fe7d2139a1e5e8c37f5b0f264805b (patch)
tree2109fe3507d48c28b157f67f59a3516423ced2ae /image/gif.c
parent061603094af5ac6cd008a11cb10d30fdc549dd55 (diff)
downloadnetsurf-542f783b189fe7d2139a1e5e8c37f5b0f264805b.tar.gz
netsurf-542f783b189fe7d2139a1e5e8c37f5b0f264805b.tar.bz2
[project @ 2004-11-10 19:51:31 by rjw]
Further GIF optimisation to reduce flicker. svn path=/import/netsurf/; revision=1356
Diffstat (limited to 'image/gif.c')
-rw-r--r--image/gif.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/image/gif.c b/image/gif.c
index 697ef408f..8fabf5033 100644
--- a/image/gif.c
+++ b/image/gif.c
@@ -220,7 +220,12 @@ void nsgif_animate(void *p)
data.redraw.full_redraw =
c->data.gif.gif->frames[c->data.gif.current_frame - 1].redraw_required;
} else {
- data.redraw.full_redraw = true;
+ /* do advanced check */
+ data.redraw.full_redraw = !((c->data.gif.current_frame == 0) &&
+ (bitmap_get_opaque(c->data.gif.gif->frame_image)) &&
+ (data.redraw.x == 0) && (data.redraw.y == 0) &&
+ (data.redraw.width = c->data.gif.gif->width) &&
+ (data.redraw.height = c->data.gif.gif->height));
}
/* other data */