diff options
-rw-r--r-- | source/blender/blenkernel/intern/ipo.c | 17 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/scene.c | 3 |
2 files changed, 11 insertions, 9 deletions
diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c index 7f2ac50acd5..cd8ab8290e5 100644 --- a/source/blender/blenkernel/intern/ipo.c +++ b/source/blender/blenkernel/intern/ipo.c @@ -1068,7 +1068,7 @@ static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, c bActionGroup *agrp= NULL; /* init the temp action */ - //memset(&tmp_act, 0, sizeof(bAction)); // XXX only enable this line if we get errors + memset(&tmp_act, 0, sizeof(bAction)); // XXX only enable this line if we get errors tmp_act.groups.first= groups->first; tmp_act.groups.last= groups->last; tmp_act.curves.first= list->first; @@ -1084,8 +1084,8 @@ static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, c agrp= MEM_callocN(sizeof(bActionGroup), "bActionGroup"); agrp->flag = AGRP_SELECTED; - if(muteipo) agrp->flag |= AGRP_MUTED; - + if (muteipo) agrp->flag |= AGRP_MUTED; + strncpy(agrp->name, grpname, sizeof(agrp->name)); BLI_addtail(&tmp_act.groups, agrp); @@ -1097,9 +1097,9 @@ static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, c /* WARNING: this func should only need to look at the stuff we initialised, if not, things may crash */ action_groups_add_channel(&tmp_act, agrp, fcu); - if(agrp->flag & AGRP_MUTED) /* flush down */ + if (agrp->flag & AGRP_MUTED) /* flush down */ fcu->flag |= FCURVE_MUTED; - + /* set the output lists based on the ones in the temp action */ groups->first= tmp_act.groups.first; groups->last= tmp_act.groups.last; @@ -1843,9 +1843,9 @@ void do_versions_ipos_to_animato(Main *main) Editing * ed = scene->ed; if (ed && ed->seqbasep) { Sequence * seq; - + adt= BKE_id_add_animdata(id); - + SEQ_BEGIN(ed, seq) { IpoCurve *icu = (seq->ipo) ? seq->ipo->curve.first : NULL; short adrcode = SEQ_FAC1; @@ -1877,8 +1877,7 @@ void do_versions_ipos_to_animato(Main *main) icu->adrcode = adrcode; /* convert IPO */ - ipo_to_animdata((ID *)scene, seq->ipo, - NULL, NULL, seq); + ipo_to_animdata((ID *)scene, seq->ipo, NULL, NULL, seq); seq->ipo->id.us--; seq->ipo = NULL; } diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c index 135464830f7..af13aae159f 100644 --- a/source/blender/blenkernel/intern/scene.c +++ b/source/blender/blenkernel/intern/scene.c @@ -907,6 +907,9 @@ static void scene_update_tagged_recursive(Scene *scene, Scene *scene_parent) if(ob->dup_group && (ob->transflag & OB_DUPLIGROUP)) group_handle_recalc_and_update(scene_parent, ob, ob->dup_group); + + /* always update layer, so that animating layers works */ + base->lay= ob->lay; } } |