diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2019-10-16 11:36:01 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2019-10-16 11:36:01 +0300 |
commit | c2fbe46b0f0fde44b8a40d89601a195da27d28fb (patch) | |
tree | f66e3e50758acb36001e2774c6e4ede5fc8bead6 /source/blender/makesrna/intern/rna_rna.c | |
parent | 386ba094988fc793f8e060d15438566e5e2d2cae (diff) | |
parent | dcf57e34f3866bba5ddd9cfdfe858a1a5eedc4c2 (diff) |
Merge branch 'master' into temp-gpencil-drw-enginetemp-gpencil-drw-engine
Diffstat (limited to 'source/blender/makesrna/intern/rna_rna.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_rna.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c index 26c8df4c7bb..4db702b215f 100644 --- a/source/blender/makesrna/intern/rna_rna.c +++ b/source/blender/makesrna/intern/rna_rna.c @@ -1157,20 +1157,21 @@ static bool rna_property_override_diff_propptr_validate_diffing(PointerRNA *prop *r_is_id = *r_is_null = *r_is_type_diff = false; /* Beware, PointerRNA_NULL has no type and is considered a 'blank page'! */ - if (propptr_a->type == NULL) { - if (propptr_b == NULL || propptr_b->type == NULL) { + if (ELEM(NULL, propptr_a->type, propptr_a->data)) { + if (ELEM(NULL, propptr_b, propptr_b->type, propptr_b->data)) { *r_is_null = true; } else { *r_is_id = RNA_struct_is_ID(propptr_b->type); *r_is_null = true; - *r_is_type_diff = true; + *r_is_type_diff = propptr_a->type != propptr_b->type; } is_valid_for_diffing = false; } else { *r_is_id = RNA_struct_is_ID(propptr_a->type); - *r_is_null = *r_is_type_diff = (ELEM(NULL, propptr_b, propptr_b->type)); + *r_is_null = (ELEM(NULL, propptr_b, propptr_b->type, propptr_b->data)); + *r_is_type_diff = (propptr_b == NULL || propptr_b->type != propptr_a->type); is_valid_for_diffing = !(*r_is_id || *r_is_null); } |