- fix for using ['prop'] in RNA api

- fix for testing without USE_PY_METACLASS defined.
This commit is contained in:
2010-09-09 06:06:37 +00:00
parent f4be9a6393
commit ced3f3ad15
3 changed files with 4 additions and 4 deletions

View File

@@ -532,7 +532,7 @@ int RNA_struct_is_a(StructRNA *type, StructRNA *srna)
PropertyRNA *RNA_struct_find_property(PointerRNA *ptr, const char *identifier) 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 */ /* id prop lookup, not so common */
PropertyRNA *r_prop= NULL; PropertyRNA *r_prop= NULL;
PointerRNA r_ptr; /* only support single level props */ PointerRNA r_ptr; /* only support single level props */

View File

@@ -123,7 +123,7 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
PyErr_SetString(PyExc_ValueError, "all args must be keywords"); \ PyErr_SetString(PyExc_ValueError, "all args must be keywords"); \
return NULL; \ return NULL; \
} \ } \
srna= srna_from_self(self, "##_func(...):"); \ srna= srna_from_self(self, #_func"(...):"); \
if(srna==NULL) { \ if(srna==NULL) { \
if(PyErr_Occurred()) \ if(PyErr_Occurred()) \
return NULL; \ return NULL; \

View File

@@ -4276,8 +4276,8 @@ static PyObject* pyrna_srna_ExternalType(StructRNA *srna)
fprintf(stderr, "pyrna_srna_ExternalType: failed to find 'bpy_types' module\n"); fprintf(stderr, "pyrna_srna_ExternalType: failed to find 'bpy_types' module\n");
return NULL; return NULL;
} }
#ifdef USE_PY_METACLASS
bpy_types_dict = PyModule_GetDict(bpy_types); // borrow bpy_types_dict = PyModule_GetDict(bpy_types); // borrow
#ifdef USE_PY_METACLASS
bpy_types_rna_meta_base = PyDict_GetItemString(bpy_types_dict, BPY_SRNA_IDPROP_META); bpy_types_rna_meta_base = PyDict_GetItemString(bpy_types_dict, BPY_SRNA_IDPROP_META);
#endif #endif
Py_DECREF(bpy_types); // fairly safe to assume the dict is kept Py_DECREF(bpy_types); // fairly safe to assume the dict is kept
@@ -4353,7 +4353,7 @@ static PyObject* pyrna_srna_Subtype(StructRNA *srna)
metaclass= bpy_types_rna_meta_base; metaclass= bpy_types_rna_meta_base;
} }
#else #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; metaclass= (PyObject *)&pyrna_struct_meta_idprop_Type;
} }
#endif #endif