diff options
author | Sebastian Parborg <darkdefende@gmail.com> | 2019-04-09 13:29:02 +0300 |
---|---|---|
committer | Sebastian Parborg <darkdefende@gmail.com> | 2019-04-09 13:29:02 +0300 |
commit | cc74020b5ac7d974e91279e23efc80141c229b3c (patch) | |
tree | b48fe326706a8974f30385f8d861bcdd2bda0e7e /source/blender/draw/modes | |
parent | f55026d46861a3cb0108ad3f7bab8ed0610f660d (diff) |
Fix T62114: Wireframe mode selection: selects backside objects when clicking frontside object in 3d-window
Now the depth order of objects when trying to select them is only used when not in X-ray mode.
Before, this was only the case in wireframe mode regardless of X-ray settings.
I've also unified the usage of V3D_XRAY and XRAY_FLAG as they were basically copies of each other.
Reviewed By: Clément
Differential Revision: http://developer.blender.org/D4504
Diffstat (limited to 'source/blender/draw/modes')
-rw-r--r-- | source/blender/draw/modes/edit_armature_mode.c | 2 | ||||
-rw-r--r-- | source/blender/draw/modes/edit_mesh_mode.c | 2 | ||||
-rw-r--r-- | source/blender/draw/modes/object_mode.c | 3 | ||||
-rw-r--r-- | source/blender/draw/modes/overlay_mode.c | 2 | ||||
-rw-r--r-- | source/blender/draw/modes/pose_mode.c | 2 |
5 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/draw/modes/edit_armature_mode.c b/source/blender/draw/modes/edit_armature_mode.c index 68f091da797..26d232600d0 100644 --- a/source/blender/draw/modes/edit_armature_mode.c +++ b/source/blender/draw/modes/edit_armature_mode.c @@ -26,6 +26,8 @@ #include "DNA_armature_types.h" #include "DNA_view3d_types.h" +#include "ED_view3d.h" + #include "draw_common.h" #include "draw_mode_engines.h" diff --git a/source/blender/draw/modes/edit_mesh_mode.c b/source/blender/draw/modes/edit_mesh_mode.c index 71c759d47a5..01bd43d9c6e 100644 --- a/source/blender/draw/modes/edit_mesh_mode.c +++ b/source/blender/draw/modes/edit_mesh_mode.c @@ -43,6 +43,8 @@ #include "BLI_dynstr.h" #include "BLI_string_utils.h" +#include "ED_view3d.h" + extern char datatoc_paint_weight_vert_glsl[]; extern char datatoc_paint_weight_frag_glsl[]; diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 563d1267885..94935da0f05 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -1011,8 +1011,7 @@ static void OBJECT_cache_init(void *vedata) } g_data = stl->g_data; - g_data->xray_enabled = XRAY_ENABLED(draw_ctx->v3d) && - (draw_ctx->v3d->shading.type < OB_MATERIAL); + g_data->xray_enabled = XRAY_ACTIVE(draw_ctx->v3d); g_data->xray_enabled_and_not_wire = g_data->xray_enabled && draw_ctx->v3d->shading.type > OB_WIRE; { diff --git a/source/blender/draw/modes/overlay_mode.c b/source/blender/draw/modes/overlay_mode.c index 52e8f73f971..99102a22622 100644 --- a/source/blender/draw/modes/overlay_mode.c +++ b/source/blender/draw/modes/overlay_mode.c @@ -34,6 +34,8 @@ #include "GPU_shader.h" #include "DRW_render.h" +#include "ED_view3d.h" + #include "draw_mode_engines.h" #ifdef __APPLE__ diff --git a/source/blender/draw/modes/pose_mode.c b/source/blender/draw/modes/pose_mode.c index c4050bf3f1a..ec61eb99d52 100644 --- a/source/blender/draw/modes/pose_mode.c +++ b/source/blender/draw/modes/pose_mode.c @@ -27,6 +27,8 @@ #include "DRW_engine.h" #include "DRW_render.h" +#include "ED_view3d.h" + /* If builtin shaders are needed */ #include "GPU_shader.h" |