[Bf-blender-cvs] [da13ddb65ad] tmp-overlay-engine: Overlay Engine: Fix Armature bone toggle
Clément Foucault
noreply at git.blender.org
Wed Nov 27 10:39:53 CET 2019
Commit: da13ddb65ad9daebac1203221576ea16c0342038
Author: Clément Foucault
Date: Wed Nov 27 11:10:02 2019 +0100
Branches: tmp-overlay-engine
https://developer.blender.org/rBda13ddb65ad9daebac1203221576ea16c0342038
Overlay Engine: Fix Armature bone toggle
===================================================================
M source/blender/draw/engines/overlay/overlay_engine.c
===================================================================
diff --git a/source/blender/draw/engines/overlay/overlay_engine.c b/source/blender/draw/engines/overlay/overlay_engine.c
index 0c1d0657432..224ddb8fd5c 100644
--- a/source/blender/draw/engines/overlay/overlay_engine.c
+++ b/source/blender/draw/engines/overlay/overlay_engine.c
@@ -203,6 +203,7 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
const bool has_surface = ELEM(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_MBALL, OB_FONT);
const bool draw_surface = !((ob->dt < OB_WIRE) || (!renderable && (ob->dt != OB_WIRE)));
const bool draw_facing = draw_surface && (pd->overlay.flag & V3D_OVERLAY_FACE_ORIENTATION);
+ const bool draw_bones = (pd->overlay.flag & V3D_OVERLAY_HIDE_BONES) == 0;
const bool draw_wires = draw_surface && has_surface &&
(pd->wireframe_mode || !pd->hide_overlays);
const bool draw_outlines = !in_edit_mode && !in_paint_mode && renderable &&
@@ -240,7 +241,9 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
OVERLAY_edit_mesh_cache_populate(vedata, ob);
break;
case OB_ARMATURE:
- OVERLAY_edit_armature_cache_populate(vedata, ob);
+ if (draw_bones) {
+ OVERLAY_edit_armature_cache_populate(vedata, ob);
+ }
break;
case OB_CURVE:
OVERLAY_edit_curve_cache_populate(vedata, ob);
@@ -259,7 +262,7 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
break;
}
}
- else if (in_pose_mode) {
+ else if (in_pose_mode && draw_bones) {
OVERLAY_pose_armature_cache_populate(vedata, ob);
}
else if (in_paint_mode) {
@@ -291,7 +294,7 @@ static void OVERLAY_cache_populate(void *vedata, Object *ob)
switch (ob->type) {
case OB_ARMATURE:
- if ((!in_edit_mode && !in_pose_mode) || is_select) {
+ if (draw_bones && (is_select || (!in_edit_mode && !in_pose_mode))) {
OVERLAY_armature_cache_populate(vedata, ob);
}
break;
More information about the Bf-blender-cvs
mailing list