diff options
author | Bastien Montagne <b.mont29@gmail.com> | 2020-02-19 18:07:21 +0300 |
---|---|---|
committer | Bastien Montagne <b.mont29@gmail.com> | 2020-02-19 18:10:57 +0300 |
commit | e317e9f6c75c238f4750db1bf80a9a3e8b2754f6 (patch) | |
tree | bf76228cf740fc6cdaadf0a4f3948125406709e2 | |
parent | 8c5e36d0a94568ddc990bed1137b3e5a149fa3c4 (diff) |
Fix T72751: Timeline crash from overridden scene.
Depsgraph RNA pointer would generate infinite loop in override comparisons.
Depsgraph pointer should never be considered here anyway, this is purely
runtime data.
-rw-r--r-- | source/blender/makesrna/RNA_types.h | 2 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_layer.c | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h index 6a60f09919b..243c3f049c7 100644 --- a/source/blender/makesrna/RNA_types.h +++ b/source/blender/makesrna/RNA_types.h @@ -292,6 +292,8 @@ typedef enum PropertyOverrideFlag { /** * Forbid usage of this property in comparison (& hence override) code. * Useful e.g. for collections of data like mesh's geometry, particles, etc. + * Also for runtime data that should never be considered as part of actual Blend data (e.g. + * dpesgraph from ViewLayers...). */ PROPOVERRIDE_NO_COMPARISON = (1 << 1), diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c index 721fc8dddff..bf8df14d258 100644 --- a/source/blender/makesrna/intern/rna_layer.c +++ b/source/blender/makesrna/intern/rna_layer.c @@ -595,6 +595,7 @@ void RNA_def_view_layer(BlenderRNA *brna) /* Dependency Graph */ prop = RNA_def_property(srna, "depsgraph", PROP_POINTER, PROP_NONE); RNA_def_property_struct_type(prop, "Depsgraph"); + RNA_def_property_override_flag(prop, PROPOVERRIDE_NO_COMPARISON); RNA_def_property_ui_text(prop, "Dependency Graph", "Dependencies in the scene data"); RNA_def_property_pointer_funcs(prop, "rna_ViewLayer_depsgraph_get", NULL, NULL, NULL); |