Commit: f71e8617e03a4cd12ea7659ac318335dba427c29
Author: Clément Foucault
Date:   Wed Mar 20 22:36:02 2019 +0100
Branches: master
https://developer.blender.org/rBf71e8617e03a4cd12ea7659ac318335dba427c29

Viewport: Draw loose edges in edit mesh mode if there is a modifier stack

===================================================================

M       source/blender/draw/modes/object_mode.c

===================================================================

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) {

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to