diff options
author | Campbell Barton <campbell@blender.org> | 2022-08-23 15:56:54 +0300 |
---|---|---|
committer | Campbell Barton <campbell@blender.org> | 2022-08-23 15:56:54 +0300 |
commit | 21ea4995585931ad54f51c1878c06c526c3355a5 (patch) | |
tree | d349a046e24ba4a0c5400883ce169e306c305f67 /source/blender/makesrna/RNA_access.h | |
parent | ffb6cc263fe13e6cc75561b5dc8850f1d31faf0f (diff) |
Fix T100286: Crash accessing freed depsgraph object instances
Invalidate depsgraph.object_instances when freed, this resolves a crash
when accessing the object instances after iteration has finished.
Unlike most other collections, object_instances is only valid while the
iterator is in-memory.
The Python/RNA API needs to inline int/string collection lookups so the
Python instance can be created before the iterator ends.
Reviewed By: mont29, sergey
Ref D15755
Diffstat (limited to 'source/blender/makesrna/RNA_access.h')
-rw-r--r-- | source/blender/makesrna/RNA_access.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index de9fa60aa5d..ddc010f27a1 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -430,6 +430,10 @@ int RNA_property_collection_lookup_string(PointerRNA *ptr, PointerRNA *r_ptr); int RNA_property_collection_lookup_string_index( PointerRNA *ptr, PropertyRNA *prop, const char *key, PointerRNA *r_ptr, int *r_index); + +bool RNA_property_collection_lookup_int_has_fn(PropertyRNA *prop); +bool RNA_property_collection_lookup_string_has_fn(PropertyRNA *prop); + /** * Zero return is an assignment error. */ |