[Bf-blender-cvs] [bb8dba8609e] master: Fix missing view layer update when iterating a collection from Python.

Alexander Gavrilov noreply at git.blender.org
Mon Oct 10 16:30:51 CEST 2022


Commit: bb8dba8609ed86bb0bd9bc231a84a352c293a14d
Author: Alexander Gavrilov
Date:   Sun Oct 9 14:10:35 2022 +0300
Branches: master
https://developer.blender.org/rBbb8dba8609ed86bb0bd9bc231a84a352c293a14d

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.

===================================================================

M	source/blender/makesrna/intern/rna_layer.c

===================================================================

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,



More information about the Bf-blender-cvs mailing list