Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDalai Felinto <dfelinto@gmail.com>2018-11-23 19:41:38 +0300
committerDalai Felinto <dfelinto@gmail.com>2018-11-23 20:13:14 +0300
commit9be5b2d23fb46a7da22d16decd044324ed8d4e78 (patch)
treec486399ce5c7c2b46cd9aceca7dfba272d8eb598 /source/blender/editors/space_view3d/view3d_edit.c
parent0d0c79e879fe0c7bf1f1d47968c11578a05db7cf (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.c9
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;