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>2013-04-18 16:11:50 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2013-04-18 16:11:50 +0400
commit23d636eaf54a6e68765845d3d143e0d292bc0515 (patch)
tree730bcf3c120ee53c381f2542ff9fdb06085fcbc7 /source/blender/freestyle
parent3bb53bbeae0e710c4186299c82d894d32b020214 (diff)
Fix for access freed scene when doing freestyle render
It's more like an ownership thing, but it's not so much clear who actually is an owner of temporary scene, so for now just ensure Render does not have link to it after strokes are rendered. There're also suspicious thing related on why separate RE_free_database is needed for freestyle renders, but that's also another story.
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 2d3fc20f929..31068c9c9d6 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -516,6 +516,11 @@ Render *BlenderStrokeRenderer::RenderScene(Render *re)
Render *freestyle_render = RE_NewRender(freestyle_scene->id.name);
RE_RenderFreestyleStrokes(freestyle_render, &_freestyle_bmain, freestyle_scene);
+
+ // rendering is done, scene would be freed in destructor,
+ // no need to store it's in render structure
+ freestyle_render->scene = NULL;
+
return freestyle_render;
}