diff options
author | Joseph Eagar <joeedh@gmail.com> | 2009-09-04 05:28:06 +0400 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2009-09-04 05:28:06 +0400 |
commit | dae0b7a4a2d88cf851e396d8edd749d11e43c175 (patch) | |
tree | a76adad55cc471e2e18b964ba37a75454ac602a7 | |
parent | 9bb0b42b9bcd0bdf71104a326777bafde50dacc9 (diff) |
fix merge bug, this should fix this issue for now, but might need further work later.
-rw-r--r-- | source/blender/blenlib/intern/edgehash.c | 2 | ||||
-rw-r--r-- | source/blender/bmesh/bmesh_marking.h | 1 | ||||
-rw-r--r-- | source/blender/bmesh/intern/bmesh_marking.c | 6 | ||||
-rw-r--r-- | source/blender/editors/mesh/bmeshutils.c | 3 |
4 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/blenlib/intern/edgehash.c b/source/blender/blenlib/intern/edgehash.c index 3624c6c20d4..cdc952e7b04 100644 --- a/source/blender/blenlib/intern/edgehash.c +++ b/source/blender/blenlib/intern/edgehash.c @@ -22,7 +22,7 @@ * * The Original Code is: none of this file. * - * Contributor(s): Daniel Dunbar + * Contributor(s): Daniel Dunbar, Joseph Eagar * * ***** END GPL LICENSE BLOCK ***** * A general (pointer -> pointer) hash table ADT diff --git a/source/blender/bmesh/bmesh_marking.h b/source/blender/bmesh/bmesh_marking.h index fbe792392ba..c7bf6c263aa 100644 --- a/source/blender/bmesh/bmesh_marking.h +++ b/source/blender/bmesh/bmesh_marking.h @@ -39,5 +39,6 @@ void BM_editselection_plane(BMesh *bm, float *plane, BMEditSelection *ese); void BM_remove_selection(BMesh *bm, void *data); void BM_store_selection(BMesh *bm, void *data); void BM_validate_selections(BMesh *bm); +void BM_clear_selection_history(BMesh *em); #endif diff --git a/source/blender/bmesh/intern/bmesh_marking.c b/source/blender/bmesh/intern/bmesh_marking.c index d5b4594e345..3a622bd0bbb 100644 --- a/source/blender/bmesh/intern/bmesh_marking.c +++ b/source/blender/bmesh/intern/bmesh_marking.c @@ -502,6 +502,12 @@ void BM_remove_selection(BMesh *em, void *data) } } +void BM_clear_selection_history(BMesh *em) +{ + BLI_freelistN(&em->selected); + em->selected.first = em->selected.last = NULL; +} + void BM_store_selection(BMesh *em, void *data) { BMEditSelection *ese; diff --git a/source/blender/editors/mesh/bmeshutils.c b/source/blender/editors/mesh/bmeshutils.c index d4ce279daac..667e55c6c1a 100644 --- a/source/blender/editors/mesh/bmeshutils.c +++ b/source/blender/editors/mesh/bmeshutils.c @@ -466,6 +466,9 @@ void EDBM_clear_flag_all(BMEditMesh *em, int flag) BMHeader *ele; int i, type; + if (flag & BM_SELECT) + BM_clear_selection_history(em->bm); + for (i=0; i<3; i++) { switch (i) { case 0: |