Module: wine Branch: master Commit: 880b98bf23f3031f4a0b6c2a1fd5f96e672e1927 URL: http://source.winehq.org/git/wine.git/?a=commit;h=880b98bf23f3031f4a0b6c2a1f...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Tue Sep 18 12:58:25 2012 +0900
windowscodecs: GIF Graphic Control Extension block belongs to the image which follows it.
---
dlls/windowscodecs/ungif.c | 11 +++++++---- 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/windowscodecs/ungif.c b/dlls/windowscodecs/ungif.c index 66310cb..7984e3a 100644 --- a/dlls/windowscodecs/ungif.c +++ b/dlls/windowscodecs/ungif.c @@ -885,16 +885,19 @@ DGifSlurp(GifFileType * GifFile) {
case EXTENSION_RECORD_TYPE: { + int Function; Extensions *Extensions;
- if (GifFile->ImageCount) + if (DGifGetExtension(GifFile, &Function, &ExtData) == GIF_ERROR) + return (GIF_ERROR); + + if (GifFile->ImageCount || Function == GRAPHICS_EXT_FUNC_CODE) Extensions = &temp_save; else Extensions = &GifFile->Extensions;
- if (DGifGetExtension(GifFile, &Extensions->Function, &ExtData) == - GIF_ERROR) - return (GIF_ERROR); + Extensions->Function = Function; + while (ExtData != NULL) {
/* Create an extension block with our data */