[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31836] trunk/blender/source/blender: - fix for using ['prop'] in RNA api
Campbell Barton
ideasman42 at gmail.com
Thu Sep 9 08:06:38 CEST 2010
Revision: 31836
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31836
Author: campbellbarton
Date: 2010-09-09 08:06:37 +0200 (Thu, 09 Sep 2010)
Log Message:
-----------
- fix for using ['prop'] in RNA api
- fix for testing without USE_PY_METACLASS defined.
Modified Paths:
--------------
trunk/blender/source/blender/makesrna/intern/rna_access.c
trunk/blender/source/blender/python/intern/bpy_props.c
trunk/blender/source/blender/python/intern/bpy_rna.c
Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c 2010-09-09 05:37:22 UTC (rev 31835)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c 2010-09-09 06:06:37 UTC (rev 31836)
@@ -532,7 +532,7 @@
PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
{
- if(identifier[0]=='[' && identifier[1]=='"') { // " (dummy comment to avoid confusing some function lists in text editors)
+ if(identifier[0]=='[' && ELEM(identifier[1], '"', '\'')) { // " (dummy comment to avoid confusing some function lists in text editors)
/* id prop lookup, not so common */
PropertyRNA *r_prop= NULL;
PointerRNA r_ptr; /* only support single level props */
Modified: trunk/blender/source/blender/python/intern/bpy_props.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_props.c 2010-09-09 05:37:22 UTC (rev 31835)
+++ trunk/blender/source/blender/python/intern/bpy_props.c 2010-09-09 06:06:37 UTC (rev 31836)
@@ -123,7 +123,7 @@
PyErr_SetString(PyExc_ValueError, "all args must be keywords"); \
return NULL; \
} \
- srna= srna_from_self(self, "##_func(...):"); \
+ srna= srna_from_self(self, #_func"(...):"); \
if(srna==NULL) { \
if(PyErr_Occurred()) \
return NULL; \
Modified: trunk/blender/source/blender/python/intern/bpy_rna.c
===================================================================
--- trunk/blender/source/blender/python/intern/bpy_rna.c 2010-09-09 05:37:22 UTC (rev 31835)
+++ trunk/blender/source/blender/python/intern/bpy_rna.c 2010-09-09 06:06:37 UTC (rev 31836)
@@ -4276,8 +4276,8 @@
fprintf(stderr, "pyrna_srna_ExternalType: failed to find 'bpy_types' module\n");
return NULL;
}
+ bpy_types_dict = PyModule_GetDict(bpy_types); // borrow
#ifdef USE_PY_METACLASS
- bpy_types_dict = PyModule_GetDict(bpy_types); // borrow
bpy_types_rna_meta_base = PyDict_GetItemString(bpy_types_dict, BPY_SRNA_IDPROP_META);
#endif
Py_DECREF(bpy_types); // fairly safe to assume the dict is kept
@@ -4353,7 +4353,7 @@
metaclass= bpy_types_rna_meta_base;
}
#else
- if(RNA_struct_idprops_check(srna) && !PyObject_IsSubclass(py_base, &pyrna_struct_meta_idprop_Type)) {
+ if(RNA_struct_idprops_check(srna) && !PyObject_IsSubclass(py_base, (PyObject *)&pyrna_struct_meta_idprop_Type)) {
metaclass= (PyObject *)&pyrna_struct_meta_idprop_Type;
}
#endif
More information about the Bf-blender-cvs
mailing list