Bugfix [#28967] Attempting to add a new pose to the Pose Library
authorJoshua Leung <aligorith@gmail.com>
Fri, 21 Oct 2011 06:36:01 +0000 (06:36 +0000)
committerJoshua Leung <aligorith@gmail.com>
Fri, 21 Oct 2011 06:36:01 +0000 (06:36 +0000)
causes Blender 2.60 RC2 to crash

This commit just rolls back part of r.40868, which was causing crashes
when trying to treat id-property-groups as bpy.type.Property to access
a special "rna_type" attribute added as part of said commit.

The underlying Py-API voodoo here is far too evil (along with the
myriad of ways of creating custom props) to work out an API fix for,
but at least we don't get anymore crashes now. In tests here, this
check even seems redundant!

release/scripts/startup/keyingsets_builtins.py

index c7922a0dfa197ca8990b8d069607a1fe8d7cb748..0e31601a4d711c959a7518bedb5f772b33d59711 100644 (file)
@@ -364,12 +364,16 @@ class BUILTIN_KSI_WholeCharacter(KeyingSetInfo):
             if prop == "_RNA_UI":
                 continue
 
-            # for now, just add all of 'em
+            # only do props which are marked as animatable, or those which are "numeric" types...
             prop_rna = type(bone).bl_rna.properties.get(prop, None)
             if prop_rna is None:
                 prop_path = '["%s"]' % prop
-                if bone.path_resolve(prop_path, False).rna_type in prop_type_compat:
-                    ksi.addProp(ks, bone, prop_path)
+
+                # XXX: the check below from r.40868 causes crashes [#28967] on ID-prop groups,
+                # so let's just include everything (doing nothing breaks keying of Sintel face rig)
+                #if bone.path_resolve(prop_path, False).rna_type in prop_type_compat:
+                #    ksi.addProp(ks, bone, prop_path)
+                ksi.addProp(ks, bone, prop_path)
             elif prop_rna.is_animatable:
                 ksi.addProp(ks, bone, prop)