Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@blender.org>2021-01-12 17:43:42 +0300
committerSybren A. Stüvel <sybren@blender.org>2021-01-12 17:43:42 +0300
commitc3b68fa7b1cafa6c4e4b73830597582606082b6d (patch)
tree1b01416599f181d6ccd332e5206a63c40c5a594c /source/blender/editors/animation/anim_channels_defines.c
parentc96d596f433d4bb346190bb9d3a1d615abe3933a (diff)
Fix T81965: Library-Override Not able to edit Keyframe properties
Fix keyframe properties not being editable when animating a library-overridden datablock. The problem was that RNA pointers were created based on the datablock affected by the animation (for example an Object), instead of the datablock that contains the FCurve itself (the Action). The latter can be local to the current blend file and should thus be editable, even when the former is not. Reviewed By: mont29 Maniphest Tasks: T81965 Differential Revision: https://developer.blender.org/D10091
Diffstat (limited to 'source/blender/editors/animation/anim_channels_defines.c')
-rw-r--r--source/blender/editors/animation/anim_channels_defines.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c
index 6cb829d3a23..05cbb3ef48f 100644
--- a/source/blender/editors/animation/anim_channels_defines.c
+++ b/source/blender/editors/animation/anim_channels_defines.c
@@ -892,7 +892,7 @@ static void acf_group_name(bAnimListElem *ale, char *name)
/* name property for group entries */
static bool acf_group_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
{
- RNA_pointer_create(ale->id, &RNA_ActionGroup, ale->data, ptr);
+ RNA_pointer_create(ale->fcurve_owner_id, &RNA_ActionGroup, ale->data, ptr);
*prop = RNA_struct_name_property(ptr->type);
return (*prop != NULL);
@@ -1013,7 +1013,7 @@ static bool acf_fcurve_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRN
* as our "name" so that user can perform quick fixes
*/
if (fcu->flag & FCURVE_DISABLED) {
- RNA_pointer_create(ale->id, &RNA_FCurve, ale->data, ptr);
+ RNA_pointer_create(ale->fcurve_owner_id, &RNA_FCurve, ale->data, ptr);
*prop = RNA_struct_find_property(ptr, "data_path");
}
else {
@@ -3965,7 +3965,7 @@ static void acf_nlaaction_name(bAnimListElem *ale, char *name)
static bool acf_nlaaction_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
{
if (ale->data) {
- RNA_pointer_create(ale->id, &RNA_Action, ale->data, ptr);
+ RNA_pointer_create(ale->fcurve_owner_id, &RNA_Action, ale->data, ptr);
*prop = RNA_struct_name_property(ptr->type);
return (*prop != NULL);