[Bf-blender-cvs] [846e5f1dc0d] master: Fix T66812: Particles + Build Modifier = Crash

Sergey Sharybin noreply at git.blender.org
Mon Jul 15 17:03:57 CEST 2019


Commit: 846e5f1dc0dd969d9a472a6bfb272375c45e2811
Author: Sergey Sharybin
Date:   Mon Jul 15 14:09:57 2019 +0200
Branches: master
https://developer.blender.org/rB846e5f1dc0dd969d9a472a6bfb272375c45e2811

Fix T66812: Particles + Build Modifier = Crash

Particles can not be used with a destructive modifiers, so we can not
maker such configuration fully reliable.

Not sure this specific setup ever worked in 2.7x, maybe DM index was
somehow reset somewhere in particle system in older Blender version,
or maybe all of Blender version were crashing.

Anyway, seems to be very easy to avoid obvious index past the array
boundary in the mapping,

Reviewers: brecht, zeddb

Reviewed By: brecht

Maniphest Tasks: T66812

Differential Revision: https://developer.blender.org/D5257

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

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

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

diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c
index 975e180545f..079a348745c 100644
--- a/source/blender/blenkernel/intern/particle.c
+++ b/source/blender/blenkernel/intern/particle.c
@@ -1645,7 +1645,7 @@ static int psys_map_index_on_dm(Mesh *mesh,
      * to their new location, which means a different index, and for faces
      * also a new face interpolation weights */
     if (from == PART_FROM_VERT) {
-      if (index_dmcache == DMCACHE_NOTFOUND || index_dmcache > mesh->totvert) {
+      if (index_dmcache == DMCACHE_NOTFOUND || index_dmcache >= mesh->totvert) {
         return 0;
       }



More information about the Bf-blender-cvs mailing list