Commit: e4e8e359a15401a90f54db7131c1690a1bff385a
Author: Campbell Barton
Date:   Wed Oct 7 15:39:06 2015 +1100
Branches: master
https://developer.blender.org/rBe4e8e359a15401a90f54db7131c1690a1bff385a

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)

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to