[Bf-blender-cvs] [f71e8617e03] master: Viewport: Draw loose edges in edit mesh mode if there is a modifier stack

Clément Foucault noreply at git.blender.org
Wed Mar 20 22:43:41 CET 2019


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



More information about the Bf-blender-cvs mailing list