diff options
Diffstat (limited to 'source/blender/editors/space_view3d/view3d_view.c')
-rw-r--r-- | source/blender/editors/space_view3d/view3d_view.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 9abc0d4f553..1ebf344a46d 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -984,6 +984,8 @@ int view3d_opengl_select( } } + /* Important to use 'vc->obact', not 'OBACT(vc->view_layer)' below, + * so it will be NULL when hidden. */ struct { DRW_ObjectFilterFn fn; void *user_data; @@ -991,7 +993,7 @@ int view3d_opengl_select( switch (select_filter) { case VIEW3D_SELECT_FILTER_OBJECT_MODE_LOCK: { - Object *obact = OBACT(vc->view_layer); + Object *obact = vc->obact; if (obact && obact->mode != OB_MODE_OBJECT) { object_filter.fn = drw_select_filter_object_mode_lock; object_filter.user_data = obact; @@ -1000,7 +1002,7 @@ int view3d_opengl_select( } case VIEW3D_SELECT_FILTER_WPAINT_POSE_MODE_LOCK: { - Object *obact = OBACT(vc->view_layer); + Object *obact = vc->obact; BLI_assert(obact && (obact->mode & OB_MODE_WEIGHT_PAINT)); Object *ob_pose = BKE_object_pose_armature_get(obact); |