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:
Diffstat (limited to 'source/blender/src/editobject.c')
-rw-r--r--source/blender/src/editobject.c38
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;
}