diff options
Diffstat (limited to 'source/blender/src/editobject.c')
-rw-r--r-- | source/blender/src/editobject.c | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/source/blender/src/editobject.c b/source/blender/src/editobject.c index 67709357225..6f926f7396e 100644 --- a/source/blender/src/editobject.c +++ b/source/blender/src/editobject.c @@ -3529,6 +3529,10 @@ void copy_attr(short event) base->object->boundtype = ob->boundtype; } base->object->margin= ob->margin; + //base->object->linearStiffness= ob->linearStiffness; + //base->object->angularStiffness= ob->angularStiffness; + //base->object->volumePreservation= ob->volumePreservation; + //base->object->gamesoftFlag= ob->gamesoftFlag; } else if(event==17) { /* tex space */ copy_texture_space(base->object, ob); @@ -3624,10 +3628,6 @@ void copy_attr(short event) } } else if(event==22) { - /* Clear the constraints on the target */ - free_constraints(&base->object->constraints); - free_constraint_channels(&base->object->constraintChannels); - /* Copy the constraint channels over */ copy_constraints(&base->object->constraints, &ob->constraints); if (U.dupflag& USER_DUP_IPO) @@ -4381,18 +4381,17 @@ void single_object_users(int flag) clear_sca_new_poins(); /* sensor/contr/act */ - /* duplicate */ + /* duplicate (must set newid) */ base= FIRSTBASE; while(base) { ob= base->object; - if( (base->flag & flag)==flag) { - + if( (base->flag & flag)==flag ) { if(ob->id.lib==NULL && ob->id.us>1) { - + /* base gets copy of object */ obn= copy_object(ob); - ob->id.us--; base->object= obn; + ob->id.us--; } } base= base->next; @@ -4406,20 +4405,17 @@ void single_object_users(int flag) while(base) { ob= base->object; if(ob->id.lib==NULL) { - if( (base->flag & flag)==flag) { - - relink_constraints(&base->object->constraints); - if (base->object->pose){ - bPoseChannel *chan; - for (chan = base->object->pose->chanbase.first; chan; chan=chan->next){ - relink_constraints(&chan->constraints); - } + relink_constraints(&base->object->constraints); + if (base->object->pose){ + bPoseChannel *chan; + for (chan = base->object->pose->chanbase.first; chan; chan=chan->next){ + relink_constraints(&chan->constraints); } - modifiers_foreachObjectLink(base->object, single_object_users__forwardModifierLinks, NULL); - - ID_NEW(ob->parent); - ID_NEW(ob->track); } + modifiers_foreachObjectLink(base->object, single_object_users__forwardModifierLinks, NULL); + + ID_NEW(ob->parent); + ID_NEW(ob->track); } base= base->next; } |