Commit: 007eaf34dc5404623d09325e109c23bc482e4b11
Author: Lukas Tönne
Date:   Thu Nov 20 17:15:16 2014 +0100
Branches: gooseberry
https://developer.blender.org/rB007eaf34dc5404623d09325e109c23bc482e4b11

Fix for invalid particle pointer access in mixed particle/child loop.

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

M       source/blender/modifiers/intern/MOD_particleinstance.c

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

diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c 
b/source/blender/modifiers/intern/MOD_particleinstance.c
index bc3ff7c..f295b94 100644
--- a/source/blender/modifiers/intern/MOD_particleinstance.c
+++ b/source/blender/modifiers/intern/MOD_particleinstance.c
@@ -333,6 +333,12 @@ static DerivedMesh *applyModifier(ModifierData *md, Object 
*ob,
                                        float hairmat[4][4];
                                        float mat[3][3];
                                        
+                                       if (first_particle + p < psys->totpart)
+                                               pa = psys->particles + 
first_particle + p;
+                                       else {
+                                               ChildParticle *cpa = 
psys->child + p;
+                                               pa = psys->particles + 
cpa->parent;
+                                       }
                                        psys_mat_hair_to_global(sim.ob, 
sim.psmd->dm, sim.psys->part->from, pa, hairmat);
                                        copy_m3_m4(mat, hairmat);
                                        /* to quaternion */

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

Reply via email to