Fix mesh validate: 'r_changed' ignored loop edits

This commit is contained in:
Campbell Barton
2015-10-07 14:38:36 +11:00
parent f456c8d8d3
commit 68797eda1f

View File

@@ -241,6 +241,7 @@ bool BKE_mesh_validate_arrays(Mesh *mesh,
struct { struct {
int verts : 1; int verts : 1;
int verts_weight : 1; int verts_weight : 1;
int loops_edge : 1;
}; };
int as_flag; int as_flag;
} fix_flag; } fix_flag;
@@ -564,6 +565,7 @@ bool BKE_mesh_validate_arrays(Mesh *mesh,
if (do_fixes) { if (do_fixes) {
int prev_e = ml->e; int prev_e = ml->e;
ml->e = GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, v1, v2)); ml->e = GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, v1, v2));
fix_flag.loops_edge = true;
PRINT_ERR("\tLoop %u has invalid edge reference (%d), fixed using edge %u\n", PRINT_ERR("\tLoop %u has invalid edge reference (%d), fixed using edge %u\n",
sp->loopstart + j, prev_e, ml->e); sp->loopstart + j, prev_e, ml->e);
} }
@@ -580,6 +582,7 @@ bool BKE_mesh_validate_arrays(Mesh *mesh,
if (do_fixes) { if (do_fixes) {
int prev_e = ml->e; int prev_e = ml->e;
ml->e = GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, v1, v2)); ml->e = GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, v1, v2));
fix_flag.loops_edge = true;
PRINT_ERR("\tPoly %u has invalid edge reference (%d), fixed using edge %u\n", PRINT_ERR("\tPoly %u has invalid edge reference (%d), fixed using edge %u\n",
sp->index, prev_e, ml->e); sp->index, prev_e, ml->e);
} }