Fix #123716: autokeying Shape Key fields does not work

The issue had essentially the same origin as #123538 (fixed
in #123719), but in the autokeying code. The autokeying code was
already fully resolving the RNA path to be relative to the owning
ID, but the RNA pointer getting passed with that fully-resolved path
to the keying code was the struct for the not-fully-resolved path.

This fixes it by simply passing the RNA pointer for the owning ID
rather than the struct being keyed.

Pull Request: https://projects.blender.org/blender/blender/pulls/123721
This commit is contained in:
Nathan Vegdahl
2024-06-25 14:21:02 +02:00
committed by Nathan Vegdahl
parent 38f889d07a
commit fb0f409237

View File

@@ -16,6 +16,7 @@
#include "DNA_scene_types.h"
#include "RNA_access.hh"
#include "RNA_path.hh"
#include "RNA_prototypes.h"
@@ -337,8 +338,9 @@ bool autokeyframe_property(bContext *C,
* all elements" or "not an array property". */
const std::optional<int> array_index = rnaindex < 0 ? std::nullopt : std::optional(rnaindex);
PointerRNA id_pointer = RNA_id_pointer_create(ptr->owner_id);
CombinedKeyingResult result = insert_keyframes(bmain,
ptr,
&id_pointer,
group,
{{path, {}, array_index}},
std::nullopt,