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:
authorClément Foucault <foucault.clem@gmail.com>2019-03-21 00:36:02 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-03-21 00:43:30 +0300
commitf71e8617e03a4cd12ea7659ac318335dba427c29 (patch)
treea65ecd6ec40b2fac3e69ff67baeffcc0fa480cd1 /source/blender/draw/modes
parentc2f0bd6aed304f0a51dd4cd086312861f42a6821 (diff)
Viewport: Draw loose edges in edit mesh mode if there is a modifier stack
Diffstat (limited to 'source/blender/draw/modes')
-rw-r--r--source/blender/draw/modes/object_mode.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/source/blender/draw/modes/object_mode.c b/source/blender/draw/modes/object_mode.c
index 5cacfd0e941..6a4e459ef56 100644
--- a/source/blender/draw/modes/object_mode.c
+++ b/source/blender/draw/modes/object_mode.c
@@ -2996,16 +2996,14 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
break;
}
Mesh *me = ob->data;
- if (me->totedge == 0) {
- if (!is_edit_mode) {
- struct GPUBatch *geom = DRW_cache_mesh_all_verts_get(ob);
- if (geom) {
- if (theme_id == TH_UNDEFINED) {
- theme_id = DRW_object_wire_theme_get(ob, view_layer, NULL);
- }
- DRWShadingGroup *shgroup = shgroup_theme_id_to_point(sgl, theme_id, ob->base_flag);
- DRW_shgroup_call_object_add(shgroup, geom, ob);
+ if (!is_edit_mode && me->totedge == 0) {
+ struct GPUBatch *geom = DRW_cache_mesh_all_verts_get(ob);
+ if (geom) {
+ if (theme_id == TH_UNDEFINED) {
+ theme_id = DRW_object_wire_theme_get(ob, view_layer, NULL);
}
+ DRWShadingGroup *shgroup = shgroup_theme_id_to_point(sgl, theme_id, ob->base_flag);
+ DRW_shgroup_call_object_add(shgroup, geom, ob);
}
}
else {
@@ -3015,7 +3013,7 @@ static void OBJECT_cache_populate(void *vedata, Object *ob)
BMEditMesh *embm = me->edit_mesh;
has_edit_mesh_cage = embm->mesh_eval_cage && (embm->mesh_eval_cage != embm->mesh_eval_final);
}
- if (!is_edit_mode || has_edit_mesh_cage) {
+ if ((!is_edit_mode && me->totedge > 0) || has_edit_mesh_cage) {
struct GPUBatch *geom = DRW_cache_mesh_loose_edges_get(ob);
if (geom) {
if (theme_id == TH_UNDEFINED) {