diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-10-08 16:58:37 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2012-10-08 16:58:37 +0400 |
commit | 4a5f09fc6556746a7eb209c60e9259fdec37dcad (patch) | |
tree | 801f092938ada229cb08da2e3344514bb23b590a | |
parent | 6a82b985c30f783fcd927d1044b32a1c9253da35 (diff) |
Fix #32795: Memory leak when rendering to video file
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index b64a6b85ef7..1859de0039d 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2117,6 +2117,7 @@ static int do_write_image_or_movie(Render *re, Main *bmain, Scene *scene, bMovie /* note; the way it gets 32 bits rects is weak... */ if (ibuf->rect == NULL) { ibuf->rect = MEM_mapallocN(sizeof(int) * rres.rectx * rres.recty, "temp 32 bits rect"); + ibuf->mall |= IB_rect; RE_ResultGet32(re, ibuf->rect); do_free = TRUE; } @@ -2130,6 +2131,7 @@ static int do_write_image_or_movie(Render *re, Main *bmain, Scene *scene, bMovie if (do_free) { MEM_freeN(ibuf->rect); ibuf->rect = NULL; + ibuf->mall &= ~IB_rect; } /* imbuf knows which rects are not part of ibuf */ |