Commit: b1704d18a1cc15f0dbb5fe6e27d80f0fae4b9e72
Author: Bastien Montagne
Date:   Wed Jun 1 15:26:58 2016 +0200
Branches: master
https://developer.blender.org/rBb1704d18a1cc15f0dbb5fe6e27d80f0fae4b9e72

Fix T48415: Segfault on opening .blend in which a 'surface' force object was 
saved in Edit mode.

In that case, surface modifier won't run (until surface object goes back to 
Object mode),
and its bvhtree remains NULL.

===================================================================

M       source/blender/blenkernel/intern/effect.c

===================================================================

diff --git a/source/blender/blenkernel/intern/effect.c 
b/source/blender/blenkernel/intern/effect.c
index 6284b3a..f06dd6f 100644
--- a/source/blender/blenkernel/intern/effect.c
+++ b/source/blender/blenkernel/intern/effect.c
@@ -566,7 +566,9 @@ int get_effector_data(EffectorCache *eff, EffectorData 
*efd, EffectedPoint *poin
        float cfra = eff->scene->r.cfra;
        int ret = 0;
 
-       if (eff->pd && eff->pd->shape==PFIELD_SHAPE_SURFACE && eff->surmd) {
+       /* In case surface object is in Edit mode when loading the .blend, 
surface modifier is never executed
+        * and bvhtree never built, see T48415. */
+       if (eff->pd && eff->pd->shape==PFIELD_SHAPE_SURFACE && eff->surmd && 
eff->surmd->bvhtree) {
                /* closest point in the object surface is an effector */
                float vec[3];

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to