From bb8dba8609ed86bb0bd9bc231a84a352c293a14d Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Sun, 9 Oct 2022 14:10:35 +0300 Subject: Fix missing view layer update when iterating a collection from Python. The previous fix ignored the most fundamental access operation. Follow up to 4a60c4746ddf fixing 68589a31ebfb. --- source/blender/makesrna/intern/rna_layer.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'source/blender/makesrna') diff --git a/source/blender/makesrna/intern/rna_layer.c b/source/blender/makesrna/intern/rna_layer.c index 427a38094be..b08d4b60fcc 100644 --- a/source/blender/makesrna/intern/rna_layer.c +++ b/source/blender/makesrna/intern/rna_layer.c @@ -369,6 +369,16 @@ static bool rna_LayerCollection_has_selected_objects(LayerCollection *lc, return false; } +void rna_LayerCollection_children_begin(CollectionPropertyIterator *iter, PointerRNA *ptr) +{ + Scene *scene = (Scene *)ptr->owner_id; + LayerCollection *lc = (LayerCollection *)ptr->data; + ViewLayer *view_layer = BKE_view_layer_find_from_collection(scene, lc); + BKE_view_layer_synced_ensure(scene, view_layer); + + rna_iterator_listbase_begin(iter, &lc->layer_collections, NULL); +} + static bool rna_LayerCollection_children_lookupint(struct PointerRNA *ptr, int key, struct PointerRNA *r_ptr) @@ -435,7 +445,7 @@ static void rna_def_layer_collection(BlenderRNA *brna) RNA_def_property_struct_type(prop, "LayerCollection"); RNA_def_property_ui_text(prop, "Children", "Child layer collections"); RNA_def_property_collection_funcs(prop, - NULL, + "rna_LayerCollection_children_begin", NULL, NULL, NULL, -- cgit v1.2.3