[Bf-blender-cvs] [f822cd511c2] blender-v2.90-release: Fix T80457: Library Override - Custom Property to Drive Child Particles results in Crash.
Bastien Montagne
noreply at git.blender.org
Mon Sep 21 09:50:35 CEST 2020
Commit: f822cd511c2314420aa225cf2fc245032b2c4953
Author: Bastien Montagne
Date: Mon Sep 14 10:28:31 2020 +0200
Branches: blender-v2.90-release
https://developer.blender.org/rBf822cd511c2314420aa225cf2fc245032b2c4953
Fix T80457: Library Override - Custom Property to Drive Child Particles results in Crash.
RNA diffing code was not dealing properly valid NULL PointerRNA (like
the empty texture slots of a ParticleSettings e.g., which were cause of
crash in that report).
To be backported to 2.90 and 2.83.
===================================================================
M source/blender/makesrna/intern/rna_rna.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_rna.c b/source/blender/makesrna/intern/rna_rna.c
index 9f5440be9f8..bd8669d7f05 100644
--- a/source/blender/makesrna/intern/rna_rna.c
+++ b/source/blender/makesrna/intern/rna_rna.c
@@ -1187,9 +1187,12 @@ static bool rna_property_override_diff_propptr_validate_diffing(PointerRNA *prop
* This helps a lot in library override case, especially to detect inserted items in collections.
*/
if (!no_prop_name && (is_valid_for_diffing || do_force_name)) {
- PropertyRNA *nameprop_a = RNA_struct_name_property(propptr_a->type);
- PropertyRNA *nameprop_b = (propptr_b != NULL) ? RNA_struct_name_property(propptr_b->type) :
- NULL;
+ PropertyRNA *nameprop_a = (propptr_a->type != NULL) ?
+ RNA_struct_name_property(propptr_a->type) :
+ NULL;
+ PropertyRNA *nameprop_b = (propptr_b != NULL && propptr_b->type != NULL) ?
+ RNA_struct_name_property(propptr_b->type) :
+ NULL;
int propname_a_len = 0, propname_b_len = 0;
char *propname_a = NULL;
More information about the Bf-blender-cvs
mailing list