[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41171] trunk/blender/release/scripts/ startup/keyingsets_builtins.py: Bugfix [#28967] Attempting to add a new pose to the Pose Library

Joshua Leung aligorith at gmail.com
Fri Oct 21 08:36:01 CEST 2011


Revision: 41171
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41171
Author:   aligorith
Date:     2011-10-21 06:36:01 +0000 (Fri, 21 Oct 2011)
Log Message:
-----------
Bugfix [#28967] Attempting to add a new pose to the Pose Library
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!

Modified Paths:
--------------
    trunk/blender/release/scripts/startup/keyingsets_builtins.py

Modified: trunk/blender/release/scripts/startup/keyingsets_builtins.py
===================================================================
--- trunk/blender/release/scripts/startup/keyingsets_builtins.py	2011-10-21 04:26:48 UTC (rev 41170)
+++ trunk/blender/release/scripts/startup/keyingsets_builtins.py	2011-10-21 06:36:01 UTC (rev 41171)
@@ -364,12 +364,16 @@
             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)
 




More information about the Bf-blender-cvs mailing list