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:
authorCampbell Barton <ideasman42@gmail.com>2011-03-25 11:43:41 +0300
committerCampbell Barton <ideasman42@gmail.com>2011-03-25 11:43:41 +0300
commit8b6b5341a55541110684e5272f8856559b89337f (patch)
tree110636f37d037400f65f9204fdb18591c5b7e7a2 /source/blender/editors
parentd8e6dd705fbf7d98043e8a210bb49d6903792872 (diff)
move object re-linking into a function.
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/object/object_add.c23
-rw-r--r--source/blender/editors/object/object_relations.c22
2 files changed, 2 insertions, 43 deletions
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index 289a66a1484..f630b05d8f2 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -843,13 +843,6 @@ void OBJECT_OT_delete(wmOperatorType *ot)
/**************************** Copy Utilities ******************************/
-static void copy_object__forwardModifierLinks(void *UNUSED(userData), Object *UNUSED(ob),
- ID **idpoin)
-{
- /* this is copied from ID_NEW; it might be better to have a macro */
- if(*idpoin && (*idpoin)->newid) *idpoin = (*idpoin)->newid;
-}
-
/* after copying objects, copied data should get new pointers */
static void copy_object_set_idnew(bContext *C, int dupflag)
{
@@ -860,21 +853,7 @@ static void copy_object_set_idnew(bContext *C, int dupflag)
/* XXX check object pointers */
CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects) {
- relink_constraints(&ob->constraints);
- if (ob->pose){
- bPoseChannel *chan;
- for (chan = ob->pose->chanbase.first; chan; chan=chan->next){
- relink_constraints(&chan->constraints);
- }
- }
- modifiers_foreachIDLink(ob, copy_object__forwardModifierLinks, NULL);
-
- if(ob->adt)
- BKE_relink_animdata(ob->adt);
-
- ID_NEW(ob->parent);
- ID_NEW(ob->proxy);
- ID_NEW(ob->proxy_group);
+ object_relink(ob);
}
CTX_DATA_END;
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index eccc826f01f..1aa6de18bad 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -1366,11 +1366,6 @@ void OBJECT_OT_make_links_data(wmOperatorType *ot)
/**************************** Make Single User ********************************/
-static void single_object_users__forwardModifierLinks(void *UNUSED(userData), Object *UNUSED(ob), Object **obpoin)
-{
- ID_NEW(*obpoin);
-}
-
static void single_object_users(Scene *scene, View3D *v3d, int flag)
{
Base *base;
@@ -1402,22 +1397,7 @@ static void single_object_users(Scene *scene, View3D *v3d, int flag)
/* object pointers */
for(base= FIRSTBASE; base; base= base->next) {
- ob= base->object;
- if(ob->id.lib==NULL) {
- 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);
-
- if(ob->adt)
- BKE_relink_animdata(ob->adt);
-
- ID_NEW(ob->parent);
- }
+ object_relink(base->object);
}
set_sca_new_poins();