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:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2013-06-11 06:32:01 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2013-06-11 06:32:01 +0400
commit5520331215ffec52cd518f30bdf6e6276840e290 (patch)
tree77a5df7b902cb05a3780dd0aff46f851d514c45c /source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
parent9020df976ca37104a36a90d43c6e5b33c24cdbd2 (diff)
Fix #35561: freestyle + read full sample layers = crash.
Now add_freestyle() in pipeline.c takes a second argument to enable/disable stroke rendering. When stroke rendering is disabled, the function allocates data structures but does not perform stroke rendering. The allocated data structures (mostly left unpopulated with data elements) are intended to allow for the Read Full Sample Layers (Shift-R) command in the compositor.
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp')
-rw-r--r--source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
index d5002d6fa39..8cb44d05b84 100644
--- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
+++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
@@ -580,12 +580,15 @@ void FRS_init_stroke_rendering(Render *re)
controller->ResetRenderCount();
}
-Render *FRS_do_stroke_rendering(Render *re, SceneRenderLayer *srl)
+Render *FRS_do_stroke_rendering(Render *re, SceneRenderLayer *srl, int render)
{
Main bmain = {0};
Render *freestyle_render = NULL;
Text *text, *next_text;
+ if (!render)
+ return controller->RenderStrokes(re, false);
+
RenderMonitor monitor(re);
controller->setRenderMonitor(&monitor);
@@ -619,7 +622,7 @@ Render *FRS_do_stroke_rendering(Render *re, SceneRenderLayer *srl)
re->i.infostr = NULL;
freestyle_scene = re->scene;
controller->DrawStrokes();
- freestyle_render = controller->RenderStrokes(re);
+ freestyle_render = controller->RenderStrokes(re, true);
controller->CloseFile();
freestyle_scene = NULL;