diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2018-11-23 19:41:38 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2018-11-23 20:13:14 +0300 |
commit | 9be5b2d23fb46a7da22d16decd044324ed8d4e78 (patch) | |
tree | c486399ce5c7c2b46cd9aceca7dfba272d8eb598 /source/blender/editors/space_view3d/view3d_edit.c | |
parent | 0d0c79e879fe0c7bf1f1d47968c11578a05db7cf (diff) |
Pass viewport to BASE_ related tests, for viewport view/select restrictions
Note: functions like select all are still not respecting that.
I will fix this as part of the local view commit though.
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_edit.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_edit.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index d91f20ec9ab..abb6fed965e 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -254,6 +254,7 @@ static bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3]) const Depsgraph *depsgraph = CTX_data_depsgraph(C); Scene *scene = CTX_data_scene(C); ViewLayer *view_layer_eval = DEG_get_evaluated_view_layer(depsgraph); + View3D *v3d = CTX_wm_view3d(C); Object *ob_act_eval = OBACT(view_layer_eval); Object *ob_act = DEG_get_original_object(ob_act_eval); @@ -298,7 +299,7 @@ static bool view3d_orbit_calc_center(bContext *C, float r_dyn_ofs[3]) zero_v3(select_center); for (base_eval = FIRSTBASE(view_layer_eval); base_eval; base_eval = base_eval->next) { - if (TESTBASE(base_eval)) { + if (TESTBASE(v3d, base_eval)) { /* use the boundbox if we can */ Object *ob_eval = base_eval->object; @@ -2722,7 +2723,7 @@ static int view3d_all_exec(bContext *C, wmOperator *op) } for (base_eval = view_layer_eval->object_bases.first; base_eval; base_eval = base_eval->next) { - if (BASE_VISIBLE(base_eval)) { + if (BASE_VISIBLE(v3d, base_eval)) { changed = true; Object *ob = DEG_get_original_object(base_eval->object); @@ -2819,7 +2820,7 @@ static int viewselected_exec(bContext *C, wmOperator *op) /* this is weak code this way, we should make a generic active/selection callback interface once... */ Base *base_eval; for (base_eval = view_layer_eval->object_bases.first; base_eval; base_eval = base_eval->next) { - if (TESTBASELIB(base_eval)) { + if (TESTBASELIB(v3d, base_eval)) { if (base_eval->object->type == OB_ARMATURE) if (base_eval->object->mode & OB_MODE_POSE) break; @@ -2880,7 +2881,7 @@ static int viewselected_exec(bContext *C, wmOperator *op) else { Base *base_eval; for (base_eval = FIRSTBASE(view_layer_eval); base_eval; base_eval = base_eval->next) { - if (TESTBASE(base_eval)) { + if (TESTBASE(v3d, base_eval)) { if (skip_camera && base_eval->object == v3d->camera) { continue; |