[Bf-blender-cvs] [fe32c43] blender-v2.76-release: BMesh: maintain select-history when sorting
Campbell Barton
noreply at git.blender.org
Fri Oct 9 13:33:06 CEST 2015
Commit: fe32c438ac3a1eda3f550768bd22e7da0b9f43a5
Author: Campbell Barton
Date: Wed Oct 7 15:39:06 2015 +1100
Branches: blender-v2.76-release
https://developer.blender.org/rBfe32c438ac3a1eda3f550768bd22e7da0b9f43a5
BMesh: maintain select-history when sorting
===================================================================
M source/blender/bmesh/intern/bmesh_mesh.c
===================================================================
diff --git a/source/blender/bmesh/intern/bmesh_mesh.c b/source/blender/bmesh/intern/bmesh_mesh.c
index 115330c..9036e88 100644
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@ -1665,6 +1665,40 @@ void BM_mesh_remap(
}
}
+ /* Selection history */
+ {
+ BMEditSelection *ese;
+ for (ese = bm->selected.first; ese; ese = ese->next) {
+ switch (ese->htype) {
+ case BM_VERT:
+ if (vptr_map) {
+ ese->ele = BLI_ghash_lookup(vptr_map, ese->ele);
+ BLI_assert(ese->ele);
+ }
+ break;
+ case BM_EDGE:
+ if (eptr_map) {
+ ese->ele = BLI_ghash_lookup(eptr_map, ese->ele);
+ BLI_assert(ese->ele);
+ }
+ break;
+ case BM_FACE:
+ if (fptr_map) {
+ ese->ele = BLI_ghash_lookup(fptr_map, ese->ele);
+ BLI_assert(ese->ele);
+ }
+ break;
+ }
+ }
+ }
+
+ if (fptr_map) {
+ if (bm->act_face) {
+ bm->act_face = BLI_ghash_lookup(fptr_map, bm->act_face);
+ BLI_assert(bm->act_face);
+ }
+ }
+
if (vptr_map)
BLI_ghash_free(vptr_map, NULL, NULL);
if (eptr_map)
More information about the Bf-blender-cvs
mailing list