forked from bartvdbraak/blender
bugfix [#20894] Blender don't import the "eye" icon value from 2.49 files in the DopeSheet Editor
This commit is contained in:
parent
41861eecd1
commit
d6611d9844
@ -1069,7 +1069,7 @@ static ChannelDriver *idriver_to_cdriver (IpoDriver *idriver)
|
||||
/* Add F-Curve to the correct list
|
||||
* - grpname is needed to be used as group name where relevant, and is usually derived from actname
|
||||
*/
|
||||
static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, char *grpname)
|
||||
static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, char *grpname, int muteipo)
|
||||
{
|
||||
/* If we're adding to an action, we will have groups to write to... */
|
||||
if (groups && grpname) {
|
||||
@ -1096,6 +1096,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;
|
||||
|
||||
BLI_snprintf(agrp->name, 64, grpname);
|
||||
|
||||
BLI_addtail(&tmp_act.groups, agrp);
|
||||
@ -1107,6 +1109,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 */
|
||||
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;
|
||||
@ -1124,7 +1129,7 @@ static void fcurve_add_to_list (ListBase *groups, ListBase *list, FCurve *fcu, c
|
||||
* actname: name of Action-Channel (if applicable) that IPO-Curve's IPO-block belonged to
|
||||
* constname: name of Constraint-Channel (if applicable) that IPO-Curve's IPO-block belonged to
|
||||
*/
|
||||
static void icu_to_fcurves (ListBase *groups, ListBase *list, IpoCurve *icu, char *actname, char *constname)
|
||||
static void icu_to_fcurves (ListBase *groups, ListBase *list, IpoCurve *icu, char *actname, char *constname, int muteipo)
|
||||
{
|
||||
AdrBit2Path *abp;
|
||||
FCurve *fcu;
|
||||
@ -1240,7 +1245,7 @@ static void icu_to_fcurves (ListBase *groups, ListBase *list, IpoCurve *icu, cha
|
||||
}
|
||||
|
||||
/* add new F-Curve to list */
|
||||
fcurve_add_to_list(groups, list, fcurve, actname);
|
||||
fcurve_add_to_list(groups, list, fcurve, actname, muteipo);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -1314,7 +1319,7 @@ static void icu_to_fcurves (ListBase *groups, ListBase *list, IpoCurve *icu, cha
|
||||
}
|
||||
|
||||
/* add new F-Curve to list */
|
||||
fcurve_add_to_list(groups, list, fcu, actname);
|
||||
fcurve_add_to_list(groups, list, fcu, actname, muteipo);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1355,7 +1360,7 @@ static void ipo_to_animato (Ipo *ipo, char actname[], char constname[], ListBase
|
||||
if (icu->driver) {
|
||||
/* Blender 2.4x allowed empty drivers, but we don't now, since they cause more trouble than they're worth */
|
||||
if ((icu->driver->ob) || (icu->driver->type == IPO_DRIVER_TYPE_PYTHON)) {
|
||||
icu_to_fcurves(NULL, drivers, icu, actname, constname);
|
||||
icu_to_fcurves(NULL, drivers, icu, actname, constname, ipo->muteipo);
|
||||
}
|
||||
else {
|
||||
MEM_freeN(icu->driver);
|
||||
@ -1363,7 +1368,7 @@ static void ipo_to_animato (Ipo *ipo, char actname[], char constname[], ListBase
|
||||
}
|
||||
}
|
||||
else
|
||||
icu_to_fcurves(animgroups, anim, icu, actname, constname);
|
||||
icu_to_fcurves(animgroups, anim, icu, actname, constname, ipo->muteipo);
|
||||
}
|
||||
|
||||
/* if this IPO block doesn't have any users after this one, free... */
|
||||
|
Loading…
Reference in New Issue
Block a user