diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-10-08 16:27:52 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-10-08 16:27:52 +0400 |
commit | 35fedac565426a8ada30c620888e5a1739bd9219 (patch) | |
tree | c8230dc578bf6b6f78d8fd21a631b025894c7d29 | |
parent | 21eb8b92a0acaaeebfe54073de1f3fd076174d10 (diff) |
fix [#28821] Whole Character keying set ignores non animatable propertyflag
-rw-r--r-- | release/scripts/startup/keyingsets_builtins.py | 7 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_rna.c | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/release/scripts/startup/keyingsets_builtins.py b/release/scripts/startup/keyingsets_builtins.py index 6b12c95e072..e99966ce58f 100644 --- a/release/scripts/startup/keyingsets_builtins.py +++ b/release/scripts/startup/keyingsets_builtins.py @@ -360,7 +360,12 @@ class BUILTIN_KSI_WholeCharacter(KeyingSetInfo): continue # for now, just add all of 'em - ksi.addProp(ks, bone, '["%s"]' % (prop)) + prop_rna = type(bone).bl_rna.properties.get(prop, None) + if prop_rna is None: + ksi.addProp(ks, bone, '["%s"]' % prop) + elif prop_rna.is_animatable: + ksi.addProp(ks, bone, prop) + ############################### diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c index 454fd6275d9..376b0c529d0 100644 --- a/source/blender/makesrna/intern/rna_rna.c +++ b/source/blender/makesrna/intern/rna_rna.c @@ -506,6 +506,13 @@ static int rna_Property_readonly_get(PointerRNA *ptr) return prop->flag & PROP_EDITABLE ? 0:1; } +static int rna_Property_animatable_get(PointerRNA *ptr) +{ + PropertyRNA *prop= (PropertyRNA*)ptr->data; + + return (prop->flag & PROP_ANIMATABLE) != 0; +} + static int rna_Property_use_output_get(PointerRNA *ptr) { PropertyRNA *prop= (PropertyRNA*)ptr->data; @@ -1066,6 +1073,11 @@ static void rna_def_property(BlenderRNA *brna) RNA_def_property_boolean_funcs(prop, "rna_Property_readonly_get", NULL); RNA_def_property_ui_text(prop, "Read Only", "Property is editable through RNA"); + prop= RNA_def_property(srna, "is_animatable", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_clear_flag(prop, PROP_EDITABLE); + RNA_def_property_boolean_funcs(prop, "rna_Property_animatable_get", NULL); + RNA_def_property_ui_text(prop, "Animatable", "Property is animatable through RNA"); + prop= RNA_def_property(srna, "is_required", PROP_BOOLEAN, PROP_NONE); RNA_def_property_clear_flag(prop, PROP_EDITABLE); RNA_def_property_boolean_funcs(prop, "rna_Property_is_required_get", NULL); |