[Bf-blender-cvs] [f89c6e739a0] master: Fix memory leak in environment

Sergey Sharybin noreply at git.blender.org
Tue May 16 10:58:35 CEST 2017


Commit: f89c6e739a0625029251117e19b58427d1299202
Author: Sergey Sharybin
Date:   Tue May 16 10:52:20 2017 +0200
Branches: master
https://developer.blender.org/rBf89c6e739a0625029251117e19b58427d1299202

Fix memory leak in environment

Found when was looking into T49864. The issue is caused here
by render_copy_renderdata() doing a copy of views with
BLI_duplicatelist() so we can not just zero the pointers out.

Similar thing is happening for layers as well.

===================================================================

M	source/blender/render/intern/source/envmap.c

===================================================================

diff --git a/source/blender/render/intern/source/envmap.c b/source/blender/render/intern/source/envmap.c
index cfdc285223c..b100c4f66bc 100644
--- a/source/blender/render/intern/source/envmap.c
+++ b/source/blender/render/intern/source/envmap.c
@@ -142,8 +142,8 @@ static Render *envmap_render_copy(Render *re, EnvMap *env)
 	/* set up renderdata */
 	render_copy_renderdata(&envre->r, &re->r);
 	envre->r.mode &= ~(R_BORDER | R_PANORAMA | R_ORTHO | R_MBLUR);
-	BLI_listbase_clear(&envre->r.layers);
-	BLI_listbase_clear(&envre->r.views);
+	BLI_freelistN(&envre->r.layers);
+	BLI_freelistN(&envre->r.views);
 	envre->r.filtertype = 0;
 	envre->r.tilex = envre->r.xsch / 2;
 	envre->r.tiley = envre->r.ysch / 2;




More information about the Bf-blender-cvs mailing list