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-07-09 23:49:04 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-07-09 23:49:04 +0400
commit9241559ab4c223d30a949f2e06c776642b69715c (patch)
tree7e0f47e588eb5e515cc8080d412e04cc54187df5 /source/blender/editors/object/object_modifier.c
parentd091856486cffc4351d6ded86de3c33afb3155b4 (diff)
2.5: Various
* Weight paint: brush strength was changed to both define weight and strength, this can't work, made them separate buttons. * Allow adding particle system as modifier (fix crash). * 3D view modal ops (zoom ..) could not be ended when invoked from a button. * Fix some warnings. * Fix spelling in particle RNA property.
Diffstat (limited to 'source/blender/editors/object/object_modifier.c')
-rw-r--r--source/blender/editors/object/object_modifier.c49
1 files changed, 27 insertions, 22 deletions
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index eb723dcca6c..6b9f2db0d96 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -83,33 +83,38 @@ int ED_object_modifier_add(ReportList *reports, Scene *scene, Object *ob, int ty
}
}
- if(mti->flags&eModifierTypeFlag_RequiresOriginalData) {
- md = ob->modifiers.first;
+ if(type == eModifierType_ParticleSystem) {
+ object_add_particle_system(scene, ob);
+ }
+ else {
+ if(mti->flags&eModifierTypeFlag_RequiresOriginalData) {
+ md = ob->modifiers.first;
- while(md && modifierType_getInfo(md->type)->type==eModifierTypeType_OnlyDeform)
- md = md->next;
+ while(md && modifierType_getInfo(md->type)->type==eModifierTypeType_OnlyDeform)
+ md = md->next;
- BLI_insertlinkbefore(&ob->modifiers, md, modifier_new(type));
- }
- else
- BLI_addtail(&ob->modifiers, modifier_new(type));
-
- /* special cases */
- if(type == eModifierType_Softbody) {
- if(!ob->soft) {
- ob->soft= sbNew(scene);
- ob->softflag |= OB_SB_GOAL|OB_SB_EDGES;
+ BLI_insertlinkbefore(&ob->modifiers, md, modifier_new(type));
}
- }
- else if(type == eModifierType_Collision) {
- if(!ob->pd)
- ob->pd= object_add_collision_fields();
+ else
+ BLI_addtail(&ob->modifiers, modifier_new(type));
+
+ /* special cases */
+ if(type == eModifierType_Softbody) {
+ if(!ob->soft) {
+ ob->soft= sbNew(scene);
+ ob->softflag |= OB_SB_GOAL|OB_SB_EDGES;
+ }
+ }
+ else if(type == eModifierType_Collision) {
+ if(!ob->pd)
+ ob->pd= object_add_collision_fields();
- ob->pd->deflect= 1;
- DAG_scene_sort(scene);
+ ob->pd->deflect= 1;
+ DAG_scene_sort(scene);
+ }
+ else if(type == eModifierType_Surface)
+ DAG_scene_sort(scene);
}
- else if(type == eModifierType_Surface)
- DAG_scene_sort(scene);
DAG_object_flush_update(scene, ob, OB_RECALC_DATA);