[Bf-blender-cvs] [afffa9b] master: RNA: Add assert to ensure the idprop is correct size on array get/set

Campbell Barton noreply at git.blender.org
Thu Dec 12 11:02:18 CET 2013


Commit: afffa9bc39d54eec505c9397d56a2c8275d81e08
Author: Campbell Barton
Date:   Thu Dec 12 21:00:11 2013 +1100
http://developer.blender.org/rBafffa9bc39d54eec505c9397d56a2c8275d81e08

RNA: Add assert to ensure the idprop is correct size on array get/set

===================================================================

M	source/blender/makesrna/intern/rna_access.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c
index 1811f2e..2d89424 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -1983,6 +1983,7 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
 	BLI_assert(RNA_property_array_check(prop) != false);
 
 	if ((idprop = rna_idproperty_check(&prop, ptr))) {
+		BLI_assert(idprop->len == RNA_property_array_length(ptr, prop));
 		if (prop->arraydimension == 0)
 			values[0] = RNA_property_int_get(ptr, prop);
 		else
@@ -2071,6 +2072,7 @@ void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *v
 	BLI_assert(RNA_property_array_check(prop) != false);
 
 	if ((idprop = rna_idproperty_check(&prop, ptr))) {
+		BLI_assert(idprop->len == RNA_property_array_length(ptr, prop));
 		if (prop->arraydimension == 0)
 			IDP_Int(idprop) = values[0];
 		else
@@ -2243,6 +2245,7 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
 	BLI_assert(RNA_property_array_check(prop) != false);
 
 	if ((idprop = rna_idproperty_check(&prop, ptr))) {
+		BLI_assert(idprop->len == RNA_property_array_length(ptr, prop));
 		if (prop->arraydimension == 0)
 			values[0] = RNA_property_float_get(ptr, prop);
 		else if (idprop->subtype == IDP_FLOAT) {
@@ -2337,6 +2340,7 @@ void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const floa
 	BLI_assert(RNA_property_array_check(prop) != false);
 
 	if ((idprop = rna_idproperty_check(&prop, ptr))) {
+		BLI_assert(idprop->len == RNA_property_array_length(ptr, prop));
 		if (prop->arraydimension == 0) {
 			if (idprop->type == IDP_FLOAT)
 				IDP_Float(idprop) = values[0];




More information about the Bf-blender-cvs mailing list