Correct assert for RNA IDProps
[blender.git] / source / blender / makesrna / intern / rna_access.c
index b0ed7e29c6a166e4590d79772975e8d652ed7db8..07d873e225ac82cc0d0d60a0db5317ef127d0520 100644 (file)
@@ -2035,7 +2035,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));
+               BLI_assert(idprop->len == RNA_property_array_length(ptr, prop) || (prop->flag & PROP_IDPROPERTY));
                if (prop->arraydimension == 0)
                        values[0] = RNA_property_int_get(ptr, prop);
                else
@@ -2124,7 +2124,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));
+               BLI_assert(idprop->len == RNA_property_array_length(ptr, prop) || (prop->flag & PROP_IDPROPERTY));
                if (prop->arraydimension == 0)
                        IDP_Int(idprop) = values[0];
                else
@@ -2297,7 +2297,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));
+               BLI_assert(idprop->len == RNA_property_array_length(ptr, prop) || (prop->flag & PROP_IDPROPERTY));
                if (prop->arraydimension == 0)
                        values[0] = RNA_property_float_get(ptr, prop);
                else if (idprop->subtype == IDP_FLOAT) {
@@ -2392,7 +2392,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));
+               BLI_assert(idprop->len == RNA_property_array_length(ptr, prop) || (prop->flag & PROP_IDPROPERTY));
                if (prop->arraydimension == 0) {
                        if (idprop->type == IDP_FLOAT)
                                IDP_Float(idprop) = values[0];