diff options
Diffstat (limited to 'source/blender/blenkernel/intern/image.c')
-rw-r--r-- | source/blender/blenkernel/intern/image.c | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index 4563b18a822..1b329815493 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -329,22 +329,20 @@ void BKE_image_free_buffers(Image *ima) ima->ok = IMA_OK; } -/** - * Free (or release) any data used by this image (does not free the image itself). - * - * \param ima The image to free. - * \param do_id_user When \a true, ID datablocks used (referenced) by this image are 'released' - * (their user count is decreased). - */ -void BKE_image_free(Image *ima, const bool UNUSED(do_id_user)) +/* called by library too, do not free ima itself */ +void BKE_image_free(Image *ima) { int a; - /* Also frees animdata. */ BKE_image_free_buffers(ima); image_free_packedfiles(ima); + BKE_icon_id_delete(&ima->id); + ima->id.icon_id = 0; + + BKE_previewimg_free(&ima->preview); + for (a = 0; a < IMA_MAX_RENDER_SLOT; a++) { if (ima->renders[a]) { RE_FreeRenderResult(ima->renders[a]); @@ -353,10 +351,7 @@ void BKE_image_free(Image *ima, const bool UNUSED(do_id_user)) } image_free_views(ima); - MEM_SAFE_FREE(ima->stereo3d_format); - - BKE_icon_id_delete(&ima->id); - BKE_previewimg_free(&ima->preview); + MEM_freeN(ima->stereo3d_format); } /* only image block itself */ |