From e7651c53c35534952777e80274736ac9a43f6929 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 27 Mar 2008 16:28:21 +0000 Subject: [PATCH] baking normals could crash in rare cases because the intersection data wasn't copied when the lambda was bigger then the previous or initialized. python baking script had a simple error. --- release/scripts/bpymodules/BPyRender.py | 2 +- source/blender/render/intern/source/raytrace.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/release/scripts/bpymodules/BPyRender.py b/release/scripts/bpymodules/BPyRender.py index a83eb6a8de8..5307439f1d6 100644 --- a/release/scripts/bpymodules/BPyRender.py +++ b/release/scripts/bpymodules/BPyRender.py @@ -531,7 +531,7 @@ def bakeToPlane(sce, ob_from, width, height, bakemodes, axis='z', margin=0): # New bake settings rend.bakeClear = True rend.bakeMargin = margin - BACKUP_bakeToActive = True + rend.bakeToActive = True # Assume a mesh me_from = ob_from.getData(mesh=1) diff --git a/source/blender/render/intern/source/raytrace.c b/source/blender/render/intern/source/raytrace.c index 7423a11764d..ec47df74d04 100644 --- a/source/blender/render/intern/source/raytrace.c +++ b/source/blender/render/intern/source/raytrace.c @@ -1033,8 +1033,11 @@ static int testnode(Octree *oc, Isect *is, Node *no, OcVal ocval, RayCheckFunc c isect.ob= ob; isect.face= face; if(RE_ray_face_intersection(&isect, oc->transformfunc, oc->coordsfunc)) { - if(isect.labdalabda) *is= isect; - found= 1; + if(isect.labdalabda) { + *is= isect; + found= 1; + } + } } //else rejected++;