diff options
author | fvogel <fvogelnew1@free.fr> | 2024-06-09 07:35:29 (GMT) |
---|---|---|
committer | fvogel <fvogelnew1@free.fr> | 2024-06-09 07:35:29 (GMT) |
commit | 3904a64e4920c1e91b5b1dfec542cc8a159caed2 (patch) | |
tree | f6bae682e7aad49968a3f374c452046777d72ed8 /generic | |
parent | ac4a3d5ccfb8d411352a169e6e3ad3fb3bdd6f94 (diff) | |
download | tk-3904a64e4920c1e91b5b1dfec542cc8a159caed2.zip tk-3904a64e4920c1e91b5b1dfec542cc8a159caed2.tar.gz tk-3904a64e4920c1e91b5b1dfec542cc8a159caed2.tar.bz2 |
Less ugly fix for the GIF case.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkImgGIF.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/generic/tkImgGIF.c b/generic/tkImgGIF.c index 23a2953..7e237fa 100644 --- a/generic/tkImgGIF.c +++ b/generic/tkImgGIF.c @@ -677,6 +677,7 @@ FileReadGIF( } if ((width > 0) && (height > 0)) { + unsigned char* pixelPtr; Tk_PhotoImageBlock block; /* @@ -699,26 +700,25 @@ FileReadGIF( goto error; } nBytes = block.pitch * imageHeight; - block.pixelPtr = ckalloc(nBytes); - if (block.pixelPtr) { - memset(block.pixelPtr, 0, nBytes); + pixelPtr = ckalloc(nBytes); + if (pixelPtr) { + memset(pixelPtr, 0, nBytes); } + block.pixelPtr = pixelPtr; if (ReadImage(gifConfPtr, interp, block.pixelPtr, chan, imageWidth, imageHeight, colorMap, srcX, srcY, BitSet(buf[8], INTERLACE), transparent) != TCL_OK) { - ckfree(block.pixelPtr); + ckfree(pixelPtr); goto error; } block.pixelPtr += srcX * block.pixelSize + srcY * block.pitch; if (Tk_PhotoPutBlock(interp, imageHandle, &block, destX, destY, width, height, TK_PHOTO_COMPOSITE_SET) != TCL_OK) { - block.pixelPtr -= srcX * block.pixelSize + srcY * block.pitch; - ckfree(block.pixelPtr); + ckfree(pixelPtr); goto error; } - block.pixelPtr -= srcX * block.pixelSize + srcY * block.pitch; - ckfree(block.pixelPtr); + ckfree(pixelPtr); } /* |