[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