diff --git a/src/modules/image/magpie/ImageData.cpp b/src/modules/image/magpie/ImageData.cpp index 3efec4ac4..7920c78a2 100644 --- a/src/modules/image/magpie/ImageData.cpp +++ b/src/modules/image/magpie/ImageData.cpp @@ -124,7 +124,10 @@ void ImageData::decode(love::filesystem::FileData *data) // The decoder *must* output a 32 bits-per-pixel image. if (decodedimage.size != decodedimage.width*decodedimage.height*sizeof(pixel)) { - delete[] decodedimage.data; + if (decodeHandler) + decodeHandler->free(decodedimage.data); + else + delete[] decodedimage.data; throw love::Exception("Could not convert image!"); }