- fix for using ['prop'] in RNA api
- fix for testing without USE_PY_METACLASS defined.
This commit is contained in:
		@@ -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 */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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; \
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user