[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32592] trunk/blender/source/blender/ editors/object/object_modifier.c: Fix for [#24319] Removing a cloth or softbody simulation in paticle mode problem
Janne Karhu
jhkarh at gmail.com
Tue Oct 19 12:17:19 CEST 2010
Revision: 32592
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32592
Author: jhk
Date: 2010-10-19 12:17:19 +0200 (Tue, 19 Oct 2010)
Log Message:
-----------
Fix for [#24319] Removing a cloth or softbody simulation in paticle mode problem
Modified Paths:
--------------
trunk/blender/source/blender/editors/object/object_modifier.c
Modified: trunk/blender/source/blender/editors/object/object_modifier.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_modifier.c 2010-10-19 09:50:43 UTC (rev 32591)
+++ trunk/blender/source/blender/editors/object/object_modifier.c 2010-10-19 10:17:19 UTC (rev 32592)
@@ -196,6 +196,11 @@
CustomData_free_layer_active(&me->fdata, CD_MDISPS, me->totface);
}
+ if(ELEM(md->type, eModifierType_Softbody, eModifierType_Cloth) &&
+ ob->particlesystem.first == NULL) {
+ ob->mode &= ~OB_MODE_PARTICLE_EDIT;
+ }
+
BLI_remlink(&ob->modifiers, md);
modifier_free(md);
@@ -658,11 +663,18 @@
Scene *scene= CTX_data_scene(C);
Object *ob = ED_object_active_context(C);
ModifierData *md = edit_modifier_property_get(op, ob, 0);
+ int mode_orig = ob->mode;
if(!ob || !md || !ED_object_modifier_remove(op->reports, bmain, scene, ob, md))
return OPERATOR_CANCELLED;
WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
+
+ /* if cloth/softbody was removed, particle mode could be cleared */
+ if(mode_orig & OB_MODE_PARTICLE_EDIT)
+ if((ob->mode & OB_MODE_PARTICLE_EDIT)==0)
+ if(scene->basact && scene->basact->object==ob)
+ WM_event_add_notifier(C, NC_SCENE|ND_MODE|NS_MODE_OBJECT, NULL);
return OPERATOR_FINISHED;
}
More information about the Bf-blender-cvs
mailing list