Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2011-12-28 21:59:56 +0400
committerSergey Sharybin <sergey.vfx@gmail.com>2011-12-28 21:59:56 +0400
commitfe2131367b3f1ca1f974d1d6160cfc8a1a220abe (patch)
treeb440e4a745c751ffeb7f8e44f324bb5e5d92dbfc /source/blender/modifiers/intern/MOD_fluidsim_util.c
parent6e94bdd8e433d2c7f250b1998ce5acaefd5bac5e (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.c20
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...