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)) { _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs