[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35696] trunk/blender/source/blender/ makesrna/intern/rna_access.c: add BLI_assert() type checks for RNA property get/set functions, since there ended up being quite a lot of these in blenders source.

Campbell Barton ideasman42 at gmail.com
Tue Mar 22 13:56:57 CET 2011


Revision: 35696
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35696
Author:   campbellbarton
Date:     2011-03-22 12:56:57 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
add BLI_assert() type checks for RNA property get/set functions, since there ended up being quite a lot of these in blenders source.
These wont be compiled into release builds, and will only print errors by default (unless WITH_ASSERT_ABORT is enabled at compile time).

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_access.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c	2011-03-22 12:54:13 UTC (rev 35695)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c	2011-03-22 12:56:57 UTC (rev 35696)
@@ -1331,6 +1331,8 @@
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		return IDP_Int(idprop);
 	else if(bprop->get)
@@ -1344,6 +1346,8 @@
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	/* just incase other values are passed */
 	if(value) value= 1;
 
@@ -1368,6 +1372,8 @@
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
 			values[0]= RNA_property_boolean_get(ptr, prop);
@@ -1389,6 +1395,8 @@
 	int tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_boolean_get_array(ptr, prop, tmp);
 		return tmp[index];
@@ -1410,6 +1418,8 @@
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
 			IDP_Int(idprop)= values[0];
@@ -1441,6 +1451,8 @@
 	int tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_boolean_get_array(ptr, prop, tmp);
 		tmp[index]= value;
@@ -1460,6 +1472,9 @@
 int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
 {
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
+
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	return bprop->defaultvalue;
 }
 
@@ -1467,6 +1482,8 @@
 {
 	BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
 	
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if(prop->arraydimension == 0)
 		values[0]= bprop->defaultvalue;
 	else if(bprop->defaultarray)
@@ -1480,6 +1497,8 @@
 	int tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_boolean_get_default_array(ptr, prop, tmp);
 		return tmp[index];
@@ -1501,6 +1520,8 @@
 	IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		return IDP_Int(idprop);
 	else if(iprop->get)
@@ -1514,6 +1535,8 @@
 	IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		IDP_Int(idprop)= value;
 	else if(iprop->set)
@@ -1535,6 +1558,8 @@
 	IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
 			values[0]= RNA_property_int_get(ptr, prop);
@@ -1556,6 +1581,8 @@
 	int tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_int_get_array(ptr, prop, tmp);
 		return tmp[index];
@@ -1577,6 +1604,8 @@
 	IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
 			IDP_Int(idprop)= values[0];
@@ -1608,6 +1637,8 @@
 	int tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_int_get_array(ptr, prop, tmp);
 		tmp[index]= value;
@@ -1634,6 +1665,8 @@
 {
 	IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
 	
+	BLI_assert(RNA_property_type(prop) == PROP_INT);
+
 	if(prop->arraydimension == 0)
 		values[0]= iprop->defaultvalue;
 	else if(iprop->defaultarray)
@@ -1668,6 +1701,8 @@
 	FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(idprop->type == IDP_FLOAT)
 			return IDP_Float(idprop);
@@ -1685,6 +1720,8 @@
 	FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(idprop->type == IDP_FLOAT)
 			IDP_Float(idprop)= value;
@@ -1712,6 +1749,8 @@
 	IDProperty *idprop;
 	int i;
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0)
 			values[0]= RNA_property_float_get(ptr, prop);
@@ -1738,6 +1777,8 @@
 	float tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_float_get_array(ptr, prop, tmp);
 		return tmp[index];
@@ -1761,6 +1802,8 @@
 	IDProperty *idprop;
 	int i;
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		if(prop->arraydimension == 0) {
 			if(idprop->type == IDP_FLOAT)
@@ -1802,6 +1845,8 @@
 	float tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_float_get_array(ptr, prop, tmp);
 		tmp[index]= value;
@@ -1821,6 +1866,9 @@
 float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
 {
 	FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
+
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	return fprop->defaultvalue;
 }
 
@@ -1828,6 +1876,8 @@
 {
 	FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
 	
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if(prop->arraydimension == 0)
 		values[0]= fprop->defaultvalue;
 	else if(fprop->defaultarray)
@@ -1841,6 +1891,8 @@
 	float tmp[RNA_MAX_ARRAY_LENGTH];
 	int len= rna_ensure_property_array_length(ptr, prop);
 
+	BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+
 	if(len <= RNA_MAX_ARRAY_LENGTH) {
 		RNA_property_float_get_default_array(ptr, prop, tmp);
 		return tmp[index];
@@ -1862,6 +1914,8 @@
 	StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		strcpy(value, IDP_String(idprop));
 	else if(sprop->get)
@@ -1875,6 +1929,8 @@
 	char *buf;
 	int length;
 
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	length= RNA_property_string_length(ptr, prop);
 
 	if(length+1 < fixedlen)
@@ -1893,6 +1949,8 @@
 	StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		return strlen(IDP_String(idprop));
 	else if(sprop->length)
@@ -1906,6 +1964,8 @@
 	StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		IDP_AssignString(idprop, (char*)value, RNA_property_string_maxlength(prop) - 1);
 	else if(sprop->set)
@@ -1922,6 +1982,9 @@
 void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value)
 {
 	StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
+
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	strcpy(value, sprop->defaultvalue);
 }
 
@@ -1930,6 +1993,8 @@
 	char *buf;
 	int length;
 
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	length= RNA_property_string_default_length(ptr, prop);
 
 	if(length+1 < fixedlen)
@@ -1946,6 +2011,9 @@
 int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop)
 {
 	StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
+
+	BLI_assert(RNA_property_type(prop) == PROP_STRING);
+
 	return strlen(sprop->defaultvalue);
 }
 
@@ -1954,6 +2022,8 @@
 	EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_ENUM);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		return IDP_Int(idprop);
 	else if(eprop->get)
@@ -1967,6 +2037,8 @@
 	EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_ENUM);
+
 	if((idprop=rna_idproperty_check(&prop, ptr)))
 		IDP_Int(idprop)= value;
 	else if(eprop->set) {
@@ -1987,6 +2059,9 @@
 int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
 {
 	EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
+
+	BLI_assert(RNA_property_type(prop) == PROP_ENUM);
+
 	return eprop->defaultvalue;
 }
 
@@ -1996,6 +2071,8 @@
 	PointerPropertyRNA *pprop= (PointerPropertyRNA*)prop;
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_POINTER);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		pprop= (PointerPropertyRNA*)prop;
 
@@ -2020,6 +2097,8 @@
 {
 	/*IDProperty *idprop;*/
 
+	BLI_assert(RNA_property_type(prop) == PROP_POINTER);
+
 	if((/*idprop=*/ rna_idproperty_check(&prop, ptr))) {
 		/* not supported */
 	}
@@ -2038,6 +2117,9 @@
 PointerRNA RNA_property_pointer_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop))
 {
 	//PointerPropertyRNA *pprop= (PointerPropertyRNA*)prop;
+
+	// BLI_assert(RNA_property_type(prop) == PROP_POINTER);
+
 	return PointerRNA_NULL; // FIXME: there has to be a way...
 }
 
@@ -2045,6 +2127,8 @@
 {
 	/*IDProperty *idprop;*/
 
+	BLI_assert(RNA_property_type(prop) == PROP_POINTER);
+
 	if((/*idprop=*/rna_idproperty_check(&prop, ptr))) {
 		/* already exists */
 	}
@@ -2066,6 +2150,8 @@
 {
 	IDProperty *idprop, *group;
 
+	BLI_assert(RNA_property_type(prop) == PROP_POINTER);
+
 	if((idprop=rna_idproperty_check(&prop, ptr))) {
 		group= RNA_struct_idprops(ptr, 0);
 		
@@ -2092,6 +2178,8 @@
 {
 	IDProperty *idprop;
 
+	BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
+
 	memset(iter, 0, sizeof(*iter));
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list