Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-11-02 19:58:11 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-11-02 19:58:59 +0300
commit1555cf758f401fbc1d3a4aba0029b4298a2c5001 (patch)
treed6a41bb0835b5b2d15d83c792ded36133eec7057 /source/blender/freestyle
parente0a6582b4008e5cb5757e2af7b3f8557ff53adff (diff)
Freestyle: Fix access freed memory when freeing fresstyle bmain
Some of the uninitializaiton code was leaving bases pointing freed memory.
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 6d5d23c4d47..354d796f2e0 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -194,6 +194,15 @@ BlenderStrokeRenderer::~BlenderStrokeRenderer()
}
}
+ // Make sure we don't have any bases which might reference freed objects.
+ FOREACH_SCENE_COLLECTION(freestyle_scene, sc)
+ {
+ BLI_freelistN(&sc->objects);
+ }
+ FOREACH_SCENE_COLLECTION_END
+ BLI_freelistN(&scene_layer->object_bases);
+ BLI_freelistN(&freestyle_scene->base);
+
// release materials
Link *lnk = (Link *)freestyle_bmain->mat.first;