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-07-07 21:24:30 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2013-07-07 21:24:30 +0400
commit22f26b2ce4c75a562ce31d6633b7343acfd7f94a (patch)
tree900cb04f7d85772de94d80899c43de37cce8b5c0 /source/blender/render/intern/source/pipeline.c
parent15a2287a8efeed84aa09db9e65dde36d4d1f9d0f (diff)
Fix for Bug #35970: Freestyle + Particles = Crash.
The crash was caused by a reference of freed memory in add_halo_flare() that relied on the global variable R to retrieve a list of objects. The value of this variable is invalidated by a nested execution of the Blender Internal renderer for Freestyle stroke rendering, leading to the documented memory reference issue.
Diffstat (limited to 'source/blender/render/intern/source/pipeline.c')
-rw-r--r--source/blender/render/intern/source/pipeline.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index f7d347e8a5a..dfdfe973241 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1676,6 +1676,9 @@ static void add_freestyle(Render *re, int render)
}
FRS_finish_stroke_rendering(re);
+
+ /* restore the global R value (invalidated by nested execution of the internal renderer) */
+ R = *re;
}
/* merges the results of Freestyle stroke rendering into a given render result */