[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40855] trunk/blender: fix [#28821] Whole Character keying set ignores non animatable propertyflag

Campbell Barton ideasman42 at gmail.com
Sat Oct 8 14:27:53 CEST 2011


Revision: 40855
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40855
Author:   campbellbarton
Date:     2011-10-08 12:27:52 +0000 (Sat, 08 Oct 2011)
Log Message:
-----------
fix [#28821] Whole Character keying set ignores non animatable propertyflag

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/keyingsets_builtins.py
    trunk/blender/source/blender/makesrna/intern/rna_rna.c

Modified: trunk/blender/release/scripts/startup/keyingsets_builtins.py
===================================================================
--- trunk/blender/release/scripts/startup/keyingsets_builtins.py	2011-10-08 11:11:54 UTC (rev 40854)
+++ trunk/blender/release/scripts/startup/keyingsets_builtins.py	2011-10-08 12:27:52 UTC (rev 40855)
@@ -360,8 +360,13 @@
                 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)
 
+
 ###############################
 
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_rna.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_rna.c	2011-10-08 11:11:54 UTC (rev 40854)
+++ trunk/blender/source/blender/makesrna/intern/rna_rna.c	2011-10-08 12:27:52 UTC (rev 40855)
@@ -506,6 +506,13 @@
 	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 @@
 	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);




More information about the Bf-blender-cvs mailing list