diff --git a/src/modules/image/magpie/JPEGHandler.cpp b/src/modules/image/magpie/JPEGHandler.cpp index d0ded59c1..549505257 100644 --- a/src/modules/image/magpie/JPEGHandler.cpp +++ b/src/modules/image/magpie/JPEGHandler.cpp @@ -136,11 +136,13 @@ FormatHandler::EncodedImage JPEGHandler::encode(const DecodedImage &img, ImageDa throw love::Exception("Out of memory."); } + unsigned long jpegSize = tjsize; + int status = tjCompress2(compressor, img.data, img.width, 0, img.height, TJPF_RGBA, - &encodedimage.data, &encodedimage.size, + &encodedimage.data, &jpegSize, TJSAMP_444, COMPRESS_QUALITY, TJFLAG_NOREALLOC); if (status < 0) @@ -149,6 +151,8 @@ FormatHandler::EncodedImage JPEGHandler::encode(const DecodedImage &img, ImageDa throw love::Exception("Could not encode jpeg image: %s", tjGetErrorStr()); } + encodedimage.size = jpegSize; + return encodedimage; } diff --git a/src/modules/image/magpie/PNGHandler.cpp b/src/modules/image/magpie/PNGHandler.cpp index 01fc7a313..b044625ee 100644 --- a/src/modules/image/magpie/PNGHandler.cpp +++ b/src/modules/image/magpie/PNGHandler.cpp @@ -46,7 +46,7 @@ static unsigned zlibDecompress(unsigned char **out, size_t *outsize, const unsig { int status = Z_OK; - size_t outdataSize = insize; + uLongf outdataSize = insize; size_t sizeMultiplier = 0; unsigned char *outdata = nullptr;