diff options
Diffstat (limited to 'source/blender/src/editobject.c')
-rw-r--r-- | source/blender/src/editobject.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/source/blender/src/editobject.c b/source/blender/src/editobject.c index f7368c58013..c7f4de25c7e 100644 --- a/source/blender/src/editobject.c +++ b/source/blender/src/editobject.c @@ -4114,6 +4114,7 @@ void adduplicate(int noTrans) Object *ob, *obn; Material ***matarar, *ma, *mao; ID *id; + Ipo *ipo; bConstraintChannel *chan; int a, didit, dupflag; @@ -4314,7 +4315,21 @@ void adduplicate(int noTrans) } base= base->next; } - + + /* ipos */ + ipo= G.main->ipo.first; + while(ipo) { + if(ipo->id.lib==NULL) { + IpoCurve *icu; + for(icu= ipo->curve.first; icu; icu= icu->next) { + if(icu->driver) { + ID_NEW(icu->driver->ob); + } + } + } + ipo= ipo->id.next; + } + /* materials */ if( dupflag & USER_DUP_MAT) { mao= G.main->mat.first; |