diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c index 41f39c1d33a..7ee02666c61 100644 --- a/source/blender/editors/animation/keyframing.c +++ b/source/blender/editors/animation/keyframing.c @@ -228,7 +228,7 @@ FCurve *verify_fcurve(bAction *act, const char group[], PointerRNA *ptr, return fcu; } -/* Helper */ +/* Helper for update_autoflags_fcurve() */ static void update_autoflags_fcurve_direct(FCurve *fcu, PropertyRNA *prop) { /* set additional flags for the F-Curve (i.e. only integer values) */ @@ -251,8 +251,8 @@ static void update_autoflags_fcurve_direct(FCurve *fcu, PropertyRNA *prop) } } -/* Update integer/discrete flags of the FCurve (used when creating/inserting keyframes, - * but also through RNA when editing an ID prop, see T37103). +/* Update integer/discrete flags of the FCurve (used when creating/inserting keyframes, + * but also through RNA when editing an ID prop, see T37103). */ void update_autoflags_fcurve(FCurve *fcu, bContext *C, ReportList *reports, PointerRNA *ptr) { @@ -276,9 +276,10 @@ void update_autoflags_fcurve(FCurve *fcu, bContext *C, ReportList *reports, Poin idname, fcu->rna_path); return; } - + + /* update F-Curve flags */ update_autoflags_fcurve_direct(fcu, prop); - + if (old_flag != fcu->flag) { /* Same as if keyframes had been changed */ WM_event_add_notifier(C, NC_ANIMATION | ND_KEYFRAME | NA_EDITED, NULL); @@ -884,6 +885,7 @@ short insert_keyframe_direct(ReportList *reports, PointerRNA ptr, PropertyRNA *p } } + /* update F-Curve flags to ensure proper behaviour for property type */ update_autoflags_fcurve_direct(fcu, prop); /* obtain value to give keyframe */ diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c index 74bd4960838..9d8fc708de6 100644 --- a/source/blender/editors/animation/keyingsets.c +++ b/source/blender/editors/animation/keyingsets.c @@ -927,7 +927,7 @@ int ANIM_apply_keyingset(bContext *C, ListBase *dsources, bAction *act, KeyingSe /* use KeyingSet's flags as base */ kflag = ks->keyingflag; - /* suppliment with info from the context */ + /* supplement with info from the context */ kflag |= ANIM_get_keyframing_flags(scene, 1); } else if (mode == MODIFYKEY_MODE_DELETE)