forked from bartvdbraak/blender
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).
This commit is contained in:
parent
e8dc841199
commit
5528781f79
@ -1331,6 +1331,8 @@ int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
return IDP_Int(idprop);
|
return IDP_Int(idprop);
|
||||||
else if(bprop->get)
|
else if(bprop->get)
|
||||||
@ -1344,6 +1346,8 @@ void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value)
|
|||||||
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
/* just incase other values are passed */
|
/* just incase other values are passed */
|
||||||
if(value) value= 1;
|
if(value) value= 1;
|
||||||
|
|
||||||
@ -1368,6 +1372,8 @@ void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *val
|
|||||||
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
values[0]= RNA_property_boolean_get(ptr, prop);
|
values[0]= RNA_property_boolean_get(ptr, prop);
|
||||||
@ -1389,6 +1395,8 @@ int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index
|
|||||||
int tmp[RNA_MAX_ARRAY_LENGTH];
|
int tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_boolean_get_array(ptr, prop, tmp);
|
RNA_property_boolean_get_array(ptr, prop, tmp);
|
||||||
return tmp[index];
|
return tmp[index];
|
||||||
@ -1410,6 +1418,8 @@ void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const in
|
|||||||
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
IDP_Int(idprop)= values[0];
|
IDP_Int(idprop)= values[0];
|
||||||
@ -1441,6 +1451,8 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde
|
|||||||
int tmp[RNA_MAX_ARRAY_LENGTH];
|
int tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_boolean_get_array(ptr, prop, tmp);
|
RNA_property_boolean_get_array(ptr, prop, tmp);
|
||||||
tmp[index]= value;
|
tmp[index]= value;
|
||||||
@ -1460,6 +1472,9 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde
|
|||||||
int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
|
int RNA_property_boolean_get_default(PointerRNA *ptr, PropertyRNA *prop)
|
||||||
{
|
{
|
||||||
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
return bprop->defaultvalue;
|
return bprop->defaultvalue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1467,6 +1482,8 @@ void RNA_property_boolean_get_default_array(PointerRNA *ptr, PropertyRNA *prop,
|
|||||||
{
|
{
|
||||||
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
values[0]= bprop->defaultvalue;
|
values[0]= bprop->defaultvalue;
|
||||||
else if(bprop->defaultarray)
|
else if(bprop->defaultarray)
|
||||||
@ -1480,6 +1497,8 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
|
|||||||
int tmp[RNA_MAX_ARRAY_LENGTH];
|
int tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_boolean_get_default_array(ptr, prop, tmp);
|
RNA_property_boolean_get_default_array(ptr, prop, tmp);
|
||||||
return tmp[index];
|
return tmp[index];
|
||||||
@ -1501,6 +1520,8 @@ int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
return IDP_Int(idprop);
|
return IDP_Int(idprop);
|
||||||
else if(iprop->get)
|
else if(iprop->get)
|
||||||
@ -1514,6 +1535,8 @@ void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
|
|||||||
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
IDP_Int(idprop)= value;
|
IDP_Int(idprop)= value;
|
||||||
else if(iprop->set)
|
else if(iprop->set)
|
||||||
@ -1535,6 +1558,8 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
|
|||||||
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
values[0]= RNA_property_int_get(ptr, prop);
|
values[0]= RNA_property_int_get(ptr, prop);
|
||||||
@ -1556,6 +1581,8 @@ int RNA_property_int_get_index(PointerRNA *ptr, PropertyRNA *prop, int index)
|
|||||||
int tmp[RNA_MAX_ARRAY_LENGTH];
|
int tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_int_get_array(ptr, prop, tmp);
|
RNA_property_int_get_array(ptr, prop, tmp);
|
||||||
return tmp[index];
|
return tmp[index];
|
||||||
@ -1577,6 +1604,8 @@ void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *v
|
|||||||
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
IDP_Int(idprop)= values[0];
|
IDP_Int(idprop)= values[0];
|
||||||
@ -1608,6 +1637,8 @@ void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, i
|
|||||||
int tmp[RNA_MAX_ARRAY_LENGTH];
|
int tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_int_get_array(ptr, prop, tmp);
|
RNA_property_int_get_array(ptr, prop, tmp);
|
||||||
tmp[index]= value;
|
tmp[index]= value;
|
||||||
@ -1634,6 +1665,8 @@ void RNA_property_int_get_default_array(PointerRNA *ptr, PropertyRNA *prop, int
|
|||||||
{
|
{
|
||||||
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_INT);
|
||||||
|
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
values[0]= iprop->defaultvalue;
|
values[0]= iprop->defaultvalue;
|
||||||
else if(iprop->defaultarray)
|
else if(iprop->defaultarray)
|
||||||
@ -1668,6 +1701,8 @@ float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(idprop->type == IDP_FLOAT)
|
if(idprop->type == IDP_FLOAT)
|
||||||
return IDP_Float(idprop);
|
return IDP_Float(idprop);
|
||||||
@ -1685,6 +1720,8 @@ void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
|
|||||||
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(idprop->type == IDP_FLOAT)
|
if(idprop->type == IDP_FLOAT)
|
||||||
IDP_Float(idprop)= value;
|
IDP_Float(idprop)= value;
|
||||||
@ -1712,6 +1749,8 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
|
|||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
values[0]= RNA_property_float_get(ptr, prop);
|
values[0]= RNA_property_float_get(ptr, prop);
|
||||||
@ -1738,6 +1777,8 @@ float RNA_property_float_get_index(PointerRNA *ptr, PropertyRNA *prop, int index
|
|||||||
float tmp[RNA_MAX_ARRAY_LENGTH];
|
float tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_float_get_array(ptr, prop, tmp);
|
RNA_property_float_get_array(ptr, prop, tmp);
|
||||||
return tmp[index];
|
return tmp[index];
|
||||||
@ -1761,6 +1802,8 @@ void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const floa
|
|||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
if(prop->arraydimension == 0) {
|
if(prop->arraydimension == 0) {
|
||||||
if(idprop->type == IDP_FLOAT)
|
if(idprop->type == IDP_FLOAT)
|
||||||
@ -1802,6 +1845,8 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index,
|
|||||||
float tmp[RNA_MAX_ARRAY_LENGTH];
|
float tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_float_get_array(ptr, prop, tmp);
|
RNA_property_float_get_array(ptr, prop, tmp);
|
||||||
tmp[index]= value;
|
tmp[index]= value;
|
||||||
@ -1821,6 +1866,9 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index,
|
|||||||
float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
|
float RNA_property_float_get_default(PointerRNA *ptr, PropertyRNA *prop)
|
||||||
{
|
{
|
||||||
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
return fprop->defaultvalue;
|
return fprop->defaultvalue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1828,6 +1876,8 @@ void RNA_property_float_get_default_array(PointerRNA *ptr, PropertyRNA *prop, fl
|
|||||||
{
|
{
|
||||||
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if(prop->arraydimension == 0)
|
if(prop->arraydimension == 0)
|
||||||
values[0]= fprop->defaultvalue;
|
values[0]= fprop->defaultvalue;
|
||||||
else if(fprop->defaultarray)
|
else if(fprop->defaultarray)
|
||||||
@ -1841,6 +1891,8 @@ float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
|
|||||||
float tmp[RNA_MAX_ARRAY_LENGTH];
|
float tmp[RNA_MAX_ARRAY_LENGTH];
|
||||||
int len= rna_ensure_property_array_length(ptr, prop);
|
int len= rna_ensure_property_array_length(ptr, prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
|
||||||
|
|
||||||
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
if(len <= RNA_MAX_ARRAY_LENGTH) {
|
||||||
RNA_property_float_get_default_array(ptr, prop, tmp);
|
RNA_property_float_get_default_array(ptr, prop, tmp);
|
||||||
return tmp[index];
|
return tmp[index];
|
||||||
@ -1862,6 +1914,8 @@ void RNA_property_string_get(PointerRNA *ptr, PropertyRNA *prop, char *value)
|
|||||||
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
strcpy(value, IDP_String(idprop));
|
strcpy(value, IDP_String(idprop));
|
||||||
else if(sprop->get)
|
else if(sprop->get)
|
||||||
@ -1875,6 +1929,8 @@ char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fi
|
|||||||
char *buf;
|
char *buf;
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
length= RNA_property_string_length(ptr, prop);
|
length= RNA_property_string_length(ptr, prop);
|
||||||
|
|
||||||
if(length+1 < fixedlen)
|
if(length+1 < fixedlen)
|
||||||
@ -1893,6 +1949,8 @@ int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
return strlen(IDP_String(idprop));
|
return strlen(IDP_String(idprop));
|
||||||
else if(sprop->length)
|
else if(sprop->length)
|
||||||
@ -1906,6 +1964,8 @@ void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *val
|
|||||||
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
IDP_AssignString(idprop, (char*)value, RNA_property_string_maxlength(prop) - 1);
|
IDP_AssignString(idprop, (char*)value, RNA_property_string_maxlength(prop) - 1);
|
||||||
else if(sprop->set)
|
else if(sprop->set)
|
||||||
@ -1922,6 +1982,9 @@ void RNA_property_string_set(PointerRNA *ptr, PropertyRNA *prop, const char *val
|
|||||||
void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value)
|
void RNA_property_string_get_default(PointerRNA *ptr, PropertyRNA *prop, char *value)
|
||||||
{
|
{
|
||||||
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
strcpy(value, sprop->defaultvalue);
|
strcpy(value, sprop->defaultvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1930,6 +1993,8 @@ char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop,
|
|||||||
char *buf;
|
char *buf;
|
||||||
int length;
|
int length;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
length= RNA_property_string_default_length(ptr, prop);
|
length= RNA_property_string_default_length(ptr, prop);
|
||||||
|
|
||||||
if(length+1 < fixedlen)
|
if(length+1 < fixedlen)
|
||||||
@ -1946,6 +2011,9 @@ char *RNA_property_string_get_default_alloc(PointerRNA *ptr, PropertyRNA *prop,
|
|||||||
int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop)
|
int RNA_property_string_default_length(PointerRNA *ptr, PropertyRNA *prop)
|
||||||
{
|
{
|
||||||
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_STRING);
|
||||||
|
|
||||||
return strlen(sprop->defaultvalue);
|
return strlen(sprop->defaultvalue);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1954,6 +2022,8 @@ int RNA_property_enum_get(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
|
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_ENUM);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
return IDP_Int(idprop);
|
return IDP_Int(idprop);
|
||||||
else if(eprop->get)
|
else if(eprop->get)
|
||||||
@ -1967,6 +2037,8 @@ void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value)
|
|||||||
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
|
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_ENUM);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
IDP_Int(idprop)= value;
|
IDP_Int(idprop)= value;
|
||||||
else if(eprop->set) {
|
else if(eprop->set) {
|
||||||
@ -1987,6 +2059,9 @@ void RNA_property_enum_set(PointerRNA *ptr, PropertyRNA *prop, int value)
|
|||||||
int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
|
int RNA_property_enum_get_default(PointerRNA *ptr, PropertyRNA *prop)
|
||||||
{
|
{
|
||||||
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
|
EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_ENUM);
|
||||||
|
|
||||||
return eprop->defaultvalue;
|
return eprop->defaultvalue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1996,6 +2071,8 @@ PointerRNA RNA_property_pointer_get(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
PointerPropertyRNA *pprop= (PointerPropertyRNA*)prop;
|
PointerPropertyRNA *pprop= (PointerPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_POINTER);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
pprop= (PointerPropertyRNA*)prop;
|
pprop= (PointerPropertyRNA*)prop;
|
||||||
|
|
||||||
@ -2020,6 +2097,8 @@ void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr
|
|||||||
{
|
{
|
||||||
/*IDProperty *idprop;*/
|
/*IDProperty *idprop;*/
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_POINTER);
|
||||||
|
|
||||||
if((/*idprop=*/ rna_idproperty_check(&prop, ptr))) {
|
if((/*idprop=*/ rna_idproperty_check(&prop, ptr))) {
|
||||||
/* not supported */
|
/* not supported */
|
||||||
}
|
}
|
||||||
@ -2038,6 +2117,9 @@ void RNA_property_pointer_set(PointerRNA *ptr, PropertyRNA *prop, PointerRNA ptr
|
|||||||
PointerRNA RNA_property_pointer_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop))
|
PointerRNA RNA_property_pointer_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop))
|
||||||
{
|
{
|
||||||
//PointerPropertyRNA *pprop= (PointerPropertyRNA*)prop;
|
//PointerPropertyRNA *pprop= (PointerPropertyRNA*)prop;
|
||||||
|
|
||||||
|
// BLI_assert(RNA_property_type(prop) == PROP_POINTER);
|
||||||
|
|
||||||
return PointerRNA_NULL; // FIXME: there has to be a way...
|
return PointerRNA_NULL; // FIXME: there has to be a way...
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2045,6 +2127,8 @@ void RNA_property_pointer_add(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
{
|
{
|
||||||
/*IDProperty *idprop;*/
|
/*IDProperty *idprop;*/
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_POINTER);
|
||||||
|
|
||||||
if((/*idprop=*/rna_idproperty_check(&prop, ptr))) {
|
if((/*idprop=*/rna_idproperty_check(&prop, ptr))) {
|
||||||
/* already exists */
|
/* already exists */
|
||||||
}
|
}
|
||||||
@ -2066,6 +2150,8 @@ void RNA_property_pointer_remove(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
{
|
{
|
||||||
IDProperty *idprop, *group;
|
IDProperty *idprop, *group;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_POINTER);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
group= RNA_struct_idprops(ptr, 0);
|
group= RNA_struct_idprops(ptr, 0);
|
||||||
|
|
||||||
@ -2092,6 +2178,8 @@ void RNA_property_collection_begin(PointerRNA *ptr, PropertyRNA *prop, Collectio
|
|||||||
{
|
{
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
memset(iter, 0, sizeof(*iter));
|
memset(iter, 0, sizeof(*iter));
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)) || (prop->flag & PROP_IDPROPERTY)) {
|
if((idprop=rna_idproperty_check(&prop, ptr)) || (prop->flag & PROP_IDPROPERTY)) {
|
||||||
@ -2143,6 +2231,8 @@ int RNA_property_collection_length(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)prop;
|
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)prop;
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
return idprop->len;
|
return idprop->len;
|
||||||
}
|
}
|
||||||
@ -2167,6 +2257,8 @@ void RNA_property_collection_add(PointerRNA *ptr, PropertyRNA *prop, PointerRNA
|
|||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
// CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)prop;
|
// CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
IDPropertyTemplate val = {0};
|
IDPropertyTemplate val = {0};
|
||||||
IDProperty *item;
|
IDProperty *item;
|
||||||
@ -2224,6 +2316,8 @@ int RNA_property_collection_remove(PointerRNA *ptr, PropertyRNA *prop, int key)
|
|||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
// CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)prop;
|
// CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)prop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
IDProperty tmp, *array;
|
IDProperty tmp, *array;
|
||||||
int len;
|
int len;
|
||||||
@ -2269,6 +2363,8 @@ int RNA_property_collection_move(PointerRNA *ptr, PropertyRNA *prop, int key, in
|
|||||||
{
|
{
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
if((idprop=rna_idproperty_check(&prop, ptr))) {
|
||||||
IDProperty tmp, *array;
|
IDProperty tmp, *array;
|
||||||
int len;
|
int len;
|
||||||
@ -2297,6 +2393,8 @@ void RNA_property_collection_clear(PointerRNA *ptr, PropertyRNA *prop)
|
|||||||
{
|
{
|
||||||
IDProperty *idprop;
|
IDProperty *idprop;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if((idprop=rna_idproperty_check(&prop, ptr)))
|
if((idprop=rna_idproperty_check(&prop, ptr)))
|
||||||
IDP_ResizeIDPArray(idprop, 0);
|
IDP_ResizeIDPArray(idprop, 0);
|
||||||
}
|
}
|
||||||
@ -2306,6 +2404,8 @@ int RNA_property_collection_lookup_index(PointerRNA *ptr, PropertyRNA *prop, Poi
|
|||||||
CollectionPropertyIterator iter;
|
CollectionPropertyIterator iter;
|
||||||
int index= 0;
|
int index= 0;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
RNA_property_collection_begin(ptr, prop, &iter);
|
RNA_property_collection_begin(ptr, prop, &iter);
|
||||||
for(index=0; iter.valid; RNA_property_collection_next(&iter), index++) {
|
for(index=0; iter.valid; RNA_property_collection_next(&iter), index++) {
|
||||||
if (iter.ptr.data == t_ptr->data)
|
if (iter.ptr.data == t_ptr->data)
|
||||||
@ -2324,6 +2424,8 @@ int RNA_property_collection_lookup_int(PointerRNA *ptr, PropertyRNA *prop, int k
|
|||||||
{
|
{
|
||||||
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)rna_ensure_property(prop);
|
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)rna_ensure_property(prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if(cprop->lookupint) {
|
if(cprop->lookupint) {
|
||||||
/* we have a callback defined, use it */
|
/* we have a callback defined, use it */
|
||||||
return cprop->lookupint(ptr, key, r_ptr);
|
return cprop->lookupint(ptr, key, r_ptr);
|
||||||
@ -2353,6 +2455,8 @@ int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, co
|
|||||||
{
|
{
|
||||||
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)rna_ensure_property(prop);
|
CollectionPropertyRNA *cprop= (CollectionPropertyRNA*)rna_ensure_property(prop);
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if(cprop->lookupstring) {
|
if(cprop->lookupstring) {
|
||||||
/* we have a callback defined, use it */
|
/* we have a callback defined, use it */
|
||||||
return cprop->lookupstring(ptr, key, r_ptr);
|
return cprop->lookupstring(ptr, key, r_ptr);
|
||||||
@ -2394,6 +2498,8 @@ int RNA_property_collection_lookup_string(PointerRNA *ptr, PropertyRNA *prop, co
|
|||||||
|
|
||||||
int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr)
|
int RNA_property_collection_type_get(PointerRNA *ptr, PropertyRNA *prop, PointerRNA *r_ptr)
|
||||||
{
|
{
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
*r_ptr= *ptr;
|
*r_ptr= *ptr;
|
||||||
return ((r_ptr->type = prop->srna) ? 1:0);
|
return ((r_ptr->type = prop->srna) ? 1:0);
|
||||||
}
|
}
|
||||||
@ -2404,6 +2510,8 @@ int RNA_property_collection_raw_array(PointerRNA *ptr, PropertyRNA *prop, Proper
|
|||||||
ArrayIterator *internal;
|
ArrayIterator *internal;
|
||||||
char *arrayp;
|
char *arrayp;
|
||||||
|
|
||||||
|
BLI_assert(RNA_property_type(prop) == PROP_COLLECTION);
|
||||||
|
|
||||||
if(!(prop->flag & PROP_RAW_ARRAY) || !(itemprop->flag & PROP_RAW_ACCESS))
|
if(!(prop->flag & PROP_RAW_ARRAY) || !(itemprop->flag & PROP_RAW_ACCESS))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user