38f889d07a
The issue was that the Python keyframing code was already resolving the RNA path fully to the owning ID, but then erroneously passing the non-ID RNA pointer (in this case the sound sequence pointer) to the keyframing code with that fully resolved path. Notably, it wasn't just the VSE keyframing that was broken: keying any non-ID structs via the Python API was broken. A good example is pose bones: the Python keyframing code was resolving e.g. "location" on the bone to "pose.bones["Bone"].location", but then passing that path along with the pose bone struct to the keyframing code. Since that fully resolved path of course doesn't exist on the bone itself, keying would fail. This fixes it by simply passing the owning ID's RNA pointer instead, which it should have been doing in the first place. Pull Request: https://projects.blender.org/blender/blender/pulls/123719