diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2017-08-03 00:28:25 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2017-08-03 00:28:25 +0300 |
commit | bf0f0589544194a41106ad6c883a0d07544b0a56 (patch) | |
tree | 05ac7b5999e06e9a072ada84bbc19100d3778b38 /source/blender/draw | |
parent | e35f24fb2899b72273eeb2f70f6315512b09a33f (diff) |
Disable selection outline drawing on the object during hair edit mode.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/modes/object_mode.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c index 173580adaef..7b255a65ea3 100644 --- a/source/blender/draw/modes/object_mode.c +++ b/source/blender/draw/modes/object_mode.c @@ -1674,6 +1674,8 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) SceneLayer *sl = draw_ctx->scene_layer; View3D *v3d = draw_ctx->v3d; int theme_id = TH_UNDEFINED; + const bool is_edited = (ob == scene->obedit) || + ((ob == draw_ctx->obact) && (ob->mode & OB_MODE_ALL_BRUSH)); //CollectionEngineSettings *ces_mode_ob = BKE_layer_collection_engine_evaluated_get(ob, COLLECTION_MODE_OBJECT, ""); @@ -1681,8 +1683,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) bool do_outlines = ((ob->base_flag & BASE_SELECTED) != 0); if (do_outlines) { - Object *obedit = scene->obedit; - if (ob != obedit && !((ob == draw_ctx->obact) && (ob->mode & OB_MODE_ALL_PAINT))) { + if (!is_edited) { struct Gwn_Batch *geom = DRW_cache_object_surface_get(ob); if (geom) { theme_id = DRW_object_wire_theme_get(ob, sl, NULL); @@ -1699,8 +1700,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) { Mesh *me = ob->data; if (me->totpoly == 0) { - Object *obedit = scene->obedit; - if (ob != obedit) { + if (!is_edited) { struct Gwn_Batch *geom = DRW_cache_mesh_edges_get(ob); if (geom) { if (theme_id == TH_UNDEFINED) { @@ -1720,8 +1720,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) break; case OB_LATTICE: { - Object *obedit = scene->obedit; - if (ob != obedit) { + if (!is_edited) { struct Gwn_Batch *geom = DRW_cache_lattice_wire_get(ob, false); if (theme_id == TH_UNDEFINED) { theme_id = DRW_object_wire_theme_get(ob, sl, NULL); @@ -1735,8 +1734,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob) case OB_CURVE: { - Object *obedit = scene->obedit; - if (ob != obedit) { + if (!is_edited) { struct Gwn_Batch *geom = DRW_cache_curve_edge_wire_get(ob); if (theme_id == TH_UNDEFINED) { theme_id = DRW_object_wire_theme_get(ob, sl, NULL); |