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.
This commit is contained in:
@@ -1188,9 +1188,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.
|
* 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)) {
|
if (!no_prop_name && (is_valid_for_diffing || do_force_name)) {
|
||||||
PropertyRNA *nameprop_a = RNA_struct_name_property(propptr_a->type);
|
PropertyRNA *nameprop_a = (propptr_a->type != NULL) ?
|
||||||
PropertyRNA *nameprop_b = (propptr_b != NULL) ? RNA_struct_name_property(propptr_b->type) :
|
RNA_struct_name_property(propptr_a->type) :
|
||||||
NULL;
|
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;
|
int propname_a_len = 0, propname_b_len = 0;
|
||||||
char *propname_a = NULL;
|
char *propname_a = NULL;
|
||||||
|
Reference in New Issue
Block a user