[Bf-blender-cvs] [0e4e79c8945] temp-T73411-view-layer-lazy-cache: Remove FIRSTBASE/LASTBASE.

Monique noreply at git.blender.org
Mon Sep 5 20:44:38 CEST 2022


Commit: 0e4e79c8945d36368817892b58f8f80cae8728f0
Author: Monique
Date:   Sat Aug 27 20:40:56 2022 +0200
Branches: temp-T73411-view-layer-lazy-cache
https://developer.blender.org/rB0e4e79c8945d36368817892b58f8f80cae8728f0

Remove FIRSTBASE/LASTBASE.

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

M	source/blender/blenkernel/intern/collection.c
M	source/blender/blenkernel/intern/fluid.c
M	source/blender/editors/space_outliner/outliner_select.cc
M	source/blender/editors/space_view3d/view3d_navigate.c
M	source/blender/editors/space_view3d/view3d_select.cc
M	source/blender/editors/space_view3d/view3d_view.c
M	source/blender/editors/undo/ed_undo.c

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

diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index e0448afdec6..dfe88159d80 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -851,7 +851,7 @@ Base *BKE_collection_or_layer_objects(const ViewLayer *view_layer, Collection *c
     return BKE_collection_object_cache_get(collection).first;
   }
 
-  return view_layer->object_bases.first;
+  return BKE_view_layer_object_bases_get(view_layer, __func__)->first;
 }
 
 /** \} */
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 24c61a792eb..960c7425ce3 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -27,6 +27,7 @@
 #include "BKE_effect.h"
 #include "BKE_fluid.h"
 #include "BKE_global.h"
+#include "BKE_layer.h"
 #include "BKE_lib_id.h"
 #include "BKE_modifier.h"
 #include "BKE_pointcache.h"
@@ -558,7 +559,7 @@ static int get_light(ViewLayer *view_layer, float *light)
   int found_light = 0;
 
   /* Try to find a lamp, preferably local. */
-  LISTBASE_FOREACH (Base *, base_tmp, &view_layer->object_bases) {
+  LISTBASE_FOREACH (Base *, base_tmp, BKE_view_layer_object_bases_get(view_layer, __func__)) {
     if (base_tmp->object->type == OB_LAMP) {
       Light *la = base_tmp->object->data;
 
diff --git a/source/blender/editors/space_outliner/outliner_select.cc b/source/blender/editors/space_outliner/outliner_select.cc
index 17e78ece941..b4716ccf0ea 100644
--- a/source/blender/editors/space_outliner/outliner_select.cc
+++ b/source/blender/editors/space_outliner/outliner_select.cc
@@ -237,7 +237,7 @@ static void do_outliner_object_select_recursive(ViewLayer *view_layer,
                                                 Object *ob_parent,
                                                 bool select)
 {
-  LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+  LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
     Object *ob = base->object;
     if ((((base->flag & BASE_VISIBLE_DEPSGRAPH) != 0) &&
          BKE_object_is_child_recursive(ob_parent, ob))) {
diff --git a/source/blender/editors/space_view3d/view3d_navigate.c b/source/blender/editors/space_view3d/view3d_navigate.c
index 6921a5112fc..2779abf6411 100644
--- a/source/blender/editors/space_view3d/view3d_navigate.c
+++ b/source/blender/editors/space_view3d/view3d_navigate.c
@@ -207,7 +207,8 @@ bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3])
     float select_center[3];
 
     zero_v3(select_center);
-    LISTBASE_FOREACH (Base *, base_eval, &view_layer_eval->object_bases) {
+    LISTBASE_FOREACH (
+        Base *, base_eval, BKE_view_layer_object_bases_get(view_layer_eval, __func__)) {
       if (BASE_SELECTED(v3d, base_eval)) {
         /* use the boundbox if we can */
         Object *ob_eval = base_eval->object;
@@ -964,7 +965,8 @@ static int viewselected_exec(bContext *C, wmOperator *op)
     ok_dist = 0; /* don't zoom */
   }
   else {
-    LISTBASE_FOREACH (Base *, base_eval, &view_layer_eval->object_bases) {
+    LISTBASE_FOREACH (
+        Base *, base_eval, BKE_view_layer_object_bases_get(view_layer_eval, __func__)) {
       if (BASE_SELECTED(v3d, base_eval)) {
         bool only_center = false;
         Object *ob = DEG_get_original_object(base_eval->object);
diff --git a/source/blender/editors/space_view3d/view3d_select.cc b/source/blender/editors/space_view3d/view3d_select.cc
index 0e5d681ca01..0dde7f15999 100644
--- a/source/blender/editors/space_view3d/view3d_select.cc
+++ b/source/blender/editors/space_view3d/view3d_select.cc
@@ -2188,7 +2188,7 @@ static Base *mouse_select_eval_buffer(ViewContext *vc,
 
   Base *basact = nullptr;
   if (found) {
-    LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+    LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
       if (has_bones ? BASE_VISIBLE(v3d, base) : BASE_SELECTABLE(v3d, base)) {
         if (base->object->runtime.select_id == select_id) {
           basact = base;
@@ -2239,7 +2239,7 @@ static Base *mouse_select_object_center(ViewContext *vc, Base *startbase, const
     base = base->next;
 
     if (base == nullptr) {
-      base = static_cast<Base *>(view_layer->object_bases.first);
+      base = static_cast<Base *>(BKE_view_layer_object_bases_get(view_layer, __func__)->first);
     }
     if (base == startbase) {
       break;
@@ -2530,7 +2530,8 @@ static bool ed_object_select_pick(bContext *C,
   /* Always start list from `basact` when cycling the selection. */
   Base *startbase = (oldbasact && oldbasact->next) ?
                         oldbasact->next :
-                        static_cast<Base *>(view_layer->object_bases.first);
+                        static_cast<Base *>(
+                            BKE_view_layer_object_bases_get(view_layer, __func__)->first);
 
   /* The next object's base to make active. */
   Base *basact = nullptr;
@@ -4611,7 +4612,7 @@ static bool object_circle_select(ViewContext *vc,
   const bool select = (sel_op != SEL_OP_SUB);
   const int select_flag = select ? BASE_SELECTED : 0;
 
-  LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+  LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
     if (BASE_SELECTABLE(v3d, base) && ((base->flag & BASE_SELECTED) != select_flag)) {
       float screen_co[2];
       if (ED_view3d_project_float_global(
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 124527822a5..eba493ccecc 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -853,7 +853,7 @@ static bool view3d_localview_init(const Depsgraph *depsgraph,
   else {
     Object *obedit = BKE_view_layer_edit_object_get(view_layer);
     if (obedit) {
-      LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+      LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
         base->local_view_bits &= ~local_view_bit;
       }
       FOREACH_BASE_IN_EDIT_MODE_BEGIN (view_layer, v3d, base_iter) {
@@ -864,7 +864,7 @@ static bool view3d_localview_init(const Depsgraph *depsgraph,
       FOREACH_BASE_IN_EDIT_MODE_END;
     }
     else {
-      LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+      LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
         if (BASE_SELECTED(v3d, base)) {
           BKE_object_minmax(base->object, min, max, false);
           base->local_view_bits |= local_view_bit;
@@ -966,7 +966,7 @@ static void view3d_localview_exit(const Depsgraph *depsgraph,
     return;
   }
 
-  LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+  LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
     if (base->local_view_bits & v3d->local_view_uuid) {
       base->local_view_bits &= ~v3d->local_view_uuid;
     }
@@ -1093,7 +1093,7 @@ static int localview_remove_from_exec(bContext *C, wmOperator *op)
   ViewLayer *view_layer = CTX_data_view_layer(C);
   bool changed = false;
 
-  LISTBASE_FOREACH (Base *, base, &view_layer->object_bases) {
+  LISTBASE_FOREACH (Base *, base, BKE_view_layer_object_bases_get(view_layer, __func__)) {
     if (BASE_SELECTED(v3d, base)) {
       base->local_view_bits &= ~v3d->local_view_uuid;
       ED_object_base_select(base, BA_DESELECT);
diff --git a/source/blender/editors/undo/ed_undo.c b/source/blender/editors/undo/ed_undo.c
index 4f7d888a315..98388149a7d 100644
--- a/source/blender/editors/undo/ed_undo.c
+++ b/source/blender/editors/undo/ed_undo.c
@@ -897,7 +897,9 @@ Object **ED_undo_editmode_objects_from_view_layer(ViewLayer *view_layer, uint *r
   Object **objects = MEM_malloc_arrayN(len, sizeof(*objects), __func__);
   /* Base iteration, starting with the active-base to ensure it's the first item in the array.
    * Looping over the active-base twice is OK as the tag check prevents it being handled twice. */
-  for (Base *base = baseact, *base_next = view_layer->object_bases.first; base;
+  for (Base *base = baseact,
+            *base_next = BKE_view_layer_object_bases_get(view_layer, __func__)->first;
+       base;
        base = base_next, base_next = base_next ? base_next->next : NULL) {
     Object *ob = base->object;
     if ((ob->type == object_type) && (ob->mode & OB_MODE_EDIT)) {
@@ -926,7 +928,9 @@ Base **ED_undo_editmode_bases_from_view_layer(ViewLayer *view_layer, uint *r_len
   Base **base_array = MEM_malloc_arrayN(len, sizeof(*base_array), __func__);
   /* Base iteration, starting with the active-base to ensure it's the first item in the array.
    * Looping over the active-base twice is OK as the tag check prevents it being handled twice. */
-  for (Base *base = view_layer->basact, *base_next = view_layer->object_bases.first; base;
+  for (Base *base = view_layer->basact,
+            *base_next = BKE_view_layer_object_bases_get(view_layer, __func__)->first;
+       base;
        base = base_next, base_next = base_next ? base_next->next : NULL) {
     Object *ob = base->object;
     if ((ob->type == object_type) && (ob->mode & OB_MODE_EDIT)) {



More information about the Bf-blender-cvs mailing list