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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-12-14 22:17:27 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-12-14 22:17:27 +0300
commit163d8111bea1e6c6a46a75bf77c024021beb7b6d (patch)
tree0f961ff0b3d46f29b102e3c550563bd5d624c96a /source/blender/blenloader
parent35cda1f940497574b387f226bcb5b3a11fe2a2d9 (diff)
Fix crash loading old files with physics systems without effector weights.
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r--source/blender/blenloader/intern/readfile.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 91f94b54468..384b1fcfd4d 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -3128,9 +3128,8 @@ static void direct_link_particlesettings(FileData *fd, ParticleSettings *part)
part->pd= newdataadr(fd, part->pd);
part->pd2= newdataadr(fd, part->pd2);
- if(part->effector_weights)
- part->effector_weights = newdataadr(fd, part->effector_weights);
- else
+ part->effector_weights = newdataadr(fd, part->effector_weights);
+ if(!part->effector_weights)
part->effector_weights = BKE_add_effector_weights(part->eff_group);
link_list(fd, &part->dupliweights);
@@ -3803,9 +3802,8 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
clmd->sim_parms->reset = 0;
}
- if(clmd->sim_parms->effector_weights)
- clmd->sim_parms->effector_weights = newdataadr(fd, clmd->sim_parms->effector_weights);
- else
+ clmd->sim_parms->effector_weights = newdataadr(fd, clmd->sim_parms->effector_weights);
+ if(!clmd->sim_parms->effector_weights)
clmd->sim_parms->effector_weights = BKE_add_effector_weights(NULL);
}
@@ -3832,9 +3830,8 @@ static void direct_link_modifiers(FileData *fd, ListBase *lb)
smd->domain->tex_shadow = NULL;
smd->domain->tex_wt = NULL;
- if(smd->domain->effector_weights)
- smd->domain->effector_weights = newdataadr(fd, smd->domain->effector_weights);
- else
+ smd->domain->effector_weights = newdataadr(fd, smd->domain->effector_weights);
+ if(!smd->domain->effector_weights)
smd->domain->effector_weights = BKE_add_effector_weights(NULL);
direct_link_pointcache_list(fd, &(smd->domain->ptcaches[0]), &(smd->domain->point_cache[0]));
@@ -4052,9 +4049,8 @@ static void direct_link_object(FileData *fd, Object *ob)
}
}
- if(sb->effector_weights)
- sb->effector_weights = newdataadr(fd, sb->effector_weights);
- else
+ sb->effector_weights = newdataadr(fd, sb->effector_weights);
+ if(!sb->effector_weights)
sb->effector_weights = BKE_add_effector_weights(NULL);
direct_link_pointcache_list(fd, &sb->ptcaches, &sb->pointcache);