diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-02 19:58:11 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-11-02 19:58:59 +0300 |
commit | 1555cf758f401fbc1d3a4aba0029b4298a2c5001 (patch) | |
tree | d6a41bb0835b5b2d15d83c792ded36133eec7057 /source/blender/freestyle | |
parent | e0a6582b4008e5cb5757e2af7b3f8557ff53adff (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.cpp | 9 |
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; |