diff options
Diffstat (limited to 'release/scripts/startup/keyingsets_builtins.py')
-rw-r--r-- | release/scripts/startup/keyingsets_builtins.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/release/scripts/startup/keyingsets_builtins.py b/release/scripts/startup/keyingsets_builtins.py index e99966ce58f..c7922a0dfa1 100644 --- a/release/scripts/startup/keyingsets_builtins.py +++ b/release/scripts/startup/keyingsets_builtins.py @@ -353,8 +353,13 @@ class BUILTIN_KSI_WholeCharacter(KeyingSetInfo): # custom properties def doCustomProps(ksi, ks, bone): + + prop_type_compat = {bpy.types.BooleanProperty, + bpy.types.IntProperty, + bpy.types.FloatProperty} + # go over all custom properties for bone - for prop, val in bone.items(): + for prop in bone.keys(): # ignore special "_RNA_UI" used for UI editing if prop == "_RNA_UI": continue @@ -362,7 +367,9 @@ class BUILTIN_KSI_WholeCharacter(KeyingSetInfo): # for now, just add all of 'em prop_rna = type(bone).bl_rna.properties.get(prop, None) if prop_rna is None: - ksi.addProp(ks, bone, '["%s"]' % prop) + prop_path = '["%s"]' % prop + if bone.path_resolve(prop_path, False).rna_type in prop_type_compat: + ksi.addProp(ks, bone, prop_path) elif prop_rna.is_animatable: ksi.addProp(ks, bone, prop) |