diff options
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_access.c | 8 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_color.c | 15 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_particle.c | 3 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_rna.c | 4 |
4 files changed, 24 insertions, 6 deletions
diff --git a/source/blender/makesrna/intern/rna_access.c b/source/blender/makesrna/intern/rna_access.c index 86ef2f1b74f..2f867fe95e1 100644 --- a/source/blender/makesrna/intern/rna_access.c +++ b/source/blender/makesrna/intern/rna_access.c @@ -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]; diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c index 408f99bd96a..a55be8e285f 100644 --- a/source/blender/makesrna/intern/rna_color.c +++ b/source/blender/makesrna/intern/rna_color.c @@ -62,6 +62,7 @@ #include "ED_node.h" #include "IMB_colormanagement.h" +#include "IMB_imbuf.h" static int rna_CurveMapping_curves_length(PointerRNA *ptr) { @@ -609,10 +610,24 @@ static void rna_ColorManagedColorspaceSettings_reload_update(Main *UNUSED(bmain) } if (seq_found) { + if (seq->anim) { + IMB_free_anim(seq->anim); + seq->anim = NULL; + } + BKE_sequence_invalidate_cache(scene, seq); BKE_sequencer_preprocessed_cache_cleanup_sequence(seq); } else { + SEQ_BEGIN(scene->ed, seq); + { + if (seq->anim) { + IMB_free_anim(seq->anim); + seq->anim = NULL; + } + } + SEQ_END; + BKE_sequencer_cache_cleanup(); BKE_sequencer_preprocessed_cache_cleanup(); } diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index 31e87f44a6a..f6f133c5114 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -475,7 +475,8 @@ static void rna_ParticleSystem_uv_on_emitter(ParticleSystem *particlesystem, Rep if (particle_no < totpart) { /* get uvco & mcol */ - num = particle->num_dmcache; + num = (ELEM(particle->num_dmcache, DMCACHE_ISCHILD, DMCACHE_NOTFOUND)) ? + particle->num : particle->num_dmcache; if (num == DMCACHE_NOTFOUND) if (particle->num < modifier->dm->getNumTessFaces(modifier->dm)) diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c index 479f70531e5..ae0841b4e28 100644 --- a/source/blender/makesrna/intern/rna_rna.c +++ b/source/blender/makesrna/intern/rna_rna.c @@ -821,7 +821,9 @@ static EnumPropertyItem *rna_EnumProperty_default_itemf(bContext *C, PointerRNA (ptr->type == &RNA_EnumProperty) || (C == NULL)) { - return eprop->item; + if (eprop->item) { + return eprop->item; + } } return eprop->itemf(C, ptr, prop, r_free); |