diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-12-28 21:59:56 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2011-12-28 21:59:56 +0400 |
commit | fe2131367b3f1ca1f974d1d6160cfc8a1a220abe (patch) | |
tree | b440e4a745c751ffeb7f8e44f324bb5e5d92dbfc /source/blender/modifiers/intern/MOD_fluidsim_util.c | |
parent | 6e94bdd8e433d2c7f250b1998ce5acaefd5bac5e (diff) |
Fix #29696: Crash on exit of edit mode after deleting contents of fluid domain
Added NULL-check to copying material number and flags when loading cache
Diffstat (limited to 'source/blender/modifiers/intern/MOD_fluidsim_util.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_fluidsim_util.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index 6541b15f66e..0452c6a4e73 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -499,16 +499,20 @@ static DerivedMesh *fluidsim_read_cache(Object *ob, DerivedMesh *orgdm, Fluidsim } // assign material + flags to new dm + // if there's no faces in original dm, keep materials and flags unchanged mface = orgdm->getFaceArray(orgdm); - mat_nr = mface[0].mat_nr; - flag = mface[0].flag; - mface = dm->getFaceArray(dm); - numfaces = dm->getNumFaces(dm); - for(i=0; i<numfaces; i++) - { - mface[i].mat_nr = mat_nr; - mface[i].flag = flag; + if(mface) { + mat_nr = mface[0].mat_nr; + flag = mface[0].flag; + + mface = dm->getFaceArray(dm); + numfaces = dm->getNumFaces(dm); + for(i=0; i<numfaces; i++) + { + mface[i].mat_nr = mat_nr; + mface[i].flag = flag; + } } // load vertex velocities, if they exist... |