Fix T79712: Color Changes do not record in Auto-Key Mode
Caused by rBfffba2b6530. In above commit, the buttons rnaindex [-1 for entire arrays like colors] was not used anymore for the entire function body of `ED_autokeyframe_property` (previously in `ui_but_anim_autokey`). Replacing the index with 0 (in the array case) is indeed necessary for `BKE_fcurve_find_by_rna_context_ui`, prior to rBfffba2b6530 this was taken care of by using `ui_but_get_fcurve` instead [which did this internally]. But using an index of 0 (instead of -1) for the entire function body of `ED_autokeyframe_property` fails for the array part later, namely `insert_keyframe` needs -1 here. Now just replace the index for //finding the FCurve//, but use the original for //inserting the keyframe//. Could be backported to 2.83 LTS. Reviewers: campbellbarton, sybren Subscribers:
This commit is contained in:
parent
9280fb19e4
commit
08286ef8ba
Notes:
blender-bot
2023-02-14 10:21:11 +01:00
Referenced by issue #79712, Color Changes do not record in Auto-Key Mode
|
@ -3025,8 +3025,11 @@ bool ED_autokeyframe_property(
|
|||
bool special;
|
||||
bool changed = false;
|
||||
|
||||
/* for entire array buttons we check the first component, it's not perfect
|
||||
* but works well enough in typical cases */
|
||||
const int rnaindex_check = (rnaindex == -1) ? 0 : rnaindex;
|
||||
fcu = BKE_fcurve_find_by_rna_context_ui(
|
||||
C, ptr, prop, rnaindex, NULL, &action, &driven, &special);
|
||||
C, ptr, prop, rnaindex_check, NULL, &action, &driven, &special);
|
||||
|
||||
if (fcu == NULL) {
|
||||
return changed;
|
||||
|
|
|
@ -306,8 +306,7 @@ bool ui_but_anim_expression_create(uiBut *but, const char *str)
|
|||
|
||||
void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
|
||||
{
|
||||
const int rnaindex = (but->rnaindex == -1) ? 0 : but->rnaindex;
|
||||
ED_autokeyframe_property(C, scene, &but->rnapoin, but->rnaprop, rnaindex, cfra);
|
||||
ED_autokeyframe_property(C, scene, &but->rnapoin, but->rnaprop, but->rnaindex, cfra);
|
||||
}
|
||||
|
||||
void ui_but_anim_copy_driver(bContext *C)
|
||||
|
|
Loading…
Reference in New Issue