[Bf-blender-cvs] [f2e217938e] clay-engine: Fixed unfreed memory
Clément Foucault
noreply at git.blender.org
Mon Jan 30 15:36:24 CET 2017
Commit: f2e217938ed1c67c2b09b4e77f33f9303b0f0a1f
Author: Clément Foucault
Date: Mon Jan 30 15:35:12 2017 +0100
Branches: clay-engine
https://developer.blender.org/rBf2e217938ed1c67c2b09b4e77f33f9303b0f0a1f
Fixed unfreed memory
===================================================================
M source/blender/blenkernel/intern/material.c
M source/blender/blenkernel/intern/scene.c
===================================================================
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 3fb7ee89ae..89af048f73 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -112,7 +112,13 @@ void BKE_material_free(Material *ma)
BKE_icon_id_delete((ID *)ma);
BKE_previewimg_free(&ma->preview);
- /* TODO Free Engine Settings */
+ for (MaterialEngineSettings *mes = ma->engines_settings.first; mes; mes = mes->next) {
+ if (mes->runtime)
+ MEM_SAFE_FREE(mes->runtime);
+ if (mes->data)
+ MEM_SAFE_FREE(mes->data);
+ }
+ BLI_freelistN(&ma->engines_settings);
}
void BKE_material_init(Material *ma)
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index b4aa47bf9d..807496d88e 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -569,6 +569,12 @@ void BKE_scene_free(Scene *sce)
sce->collection = NULL;
/* Runtime Engine Data */
+ for (RenderEngineSettings *res = sce->engines_settings.first; res; res = res->next) {
+ if (res->runtime)
+ MEM_freeN(res->runtime);
+ if (res->data)
+ MEM_freeN(res->data);
+ }
BLI_freelistN(&sce->engines_settings);
}
More information about the Bf-blender-cvs
mailing list