From fd8bd40260c7f9d2785242567ec67c5a5d27afa4 Mon Sep 17 00:00:00 2001 From: Struma Date: Sun, 23 May 2021 10:40:49 -0400 Subject: [PATCH] using gif.decoded_frame as a condition is just a bad idea --- src/display/bitmap.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/display/bitmap.cpp b/src/display/bitmap.cpp index 3c0f1ac6..200509d3 100644 --- a/src/display/bitmap.cpp +++ b/src/display/bitmap.cpp @@ -527,7 +527,7 @@ Bitmap::Bitmap(const char *filename) if (fcount > fcount_partial) { Debug() << "Non-fatal error reading" << filename << ": Only decoded" << fcount_partial << "out of" << fcount << "frames"; } - for (int i = 0; i < fcount_partial; i++) { + for (int i = 1; i < fcount_partial; i++) { TEXFBO texfbo; try { texfbo = shState->texPool().request(p->animation.width, p->animation.height); @@ -548,7 +548,7 @@ Bitmap::Bitmap(const char *filename) TEX::uploadImage(p->animation.width, p->animation.height, handler.gif->frame_image, GL_RGBA); p->animation.frames.push_back(texfbo); - int status = gif_decode_frame(handler.gif, handler.gif->decoded_frame + 1); + int status = gif_decode_frame(handler.gif, i); if (status != GIF_OK && status != GIF_WORKING) { for (TEXFBO &frame : p->animation.frames) shState->texPool().release(frame); @@ -558,7 +558,7 @@ Bitmap::Bitmap(const char *filename) delete handler.gif_data; throw Exception(Exception::MKXPError, "Failed to decode GIF frame %i out of %i (Error %i)", - handler.gif->decoded_frame + 1, fcount_partial, status); + i + 1, fcount_partial, status); } }