[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35722] trunk/blender/source/blender/ python/intern/bpy_rna.c: allow unregistered rna classes to have rna properties assigned before registration .

Campbell Barton ideasman42 at gmail.com
Wed Mar 23 13:44:23 CET 2011


Revision: 35722
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35722
Author:   campbellbarton
Date:     2011-03-23 12:44:22 +0000 (Wed, 23 Mar 2011)
Log Message:
-----------
allow unregistered rna classes to have rna properties assigned before registration.
this is useful for the register() class method which is called before the class gets structRNA assigned.

eg:

class MyClass(bpy.types.PropertyGroup):
    @classmethod
    def register(cls):
        cls.name = StringProperty()  # assigned but registration is delayed.

Modified Paths:
--------------
    trunk/blender/source/blender/python/intern/bpy_rna.c

Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c	2011-03-23 10:57:45 UTC (rev 35721)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c	2011-03-23 12:44:22 UTC (rev 35722)
@@ -2993,11 +2993,13 @@
 	}
 
 	if(srna == NULL) {
+		/* allow setting on unregistered classes which can be registered later on */
+		/*
 		if(value && is_deferred_prop) {
 			PyErr_Format(PyExc_AttributeError, "pyrna_struct_meta_idprop_setattro() unable to get srna from class '%.200s'", ((PyTypeObject *)cls)->tp_name);
 			return -1;
 		}
-
+		*/
 		/* srna_from_self may set an error */
 		PyErr_Clear();
 		return PyType_Type.tp_setattro(cls, attr, value);




More information about the Bf-blender-cvs mailing list