diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-04-18 16:11:50 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-04-18 16:11:50 +0400 |
commit | 23d636eaf54a6e68765845d3d143e0d292bc0515 (patch) | |
tree | 730bcf3c120ee53c381f2542ff9fdb06085fcbc7 /source/blender/freestyle | |
parent | 3bb53bbeae0e710c4186299c82d894d32b020214 (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.cpp | 5 |
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; } |