Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Eagar <joeedh@gmail.com>2009-09-04 05:28:06 +0400
committerJoseph Eagar <joeedh@gmail.com>2009-09-04 05:28:06 +0400
commitdae0b7a4a2d88cf851e396d8edd749d11e43c175 (patch)
treea76adad55cc471e2e18b964ba37a75454ac602a7
parent9bb0b42b9bcd0bdf71104a326777bafde50dacc9 (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.c2
-rw-r--r--source/blender/bmesh/bmesh_marking.h1
-rw-r--r--source/blender/bmesh/intern/bmesh_marking.c6
-rw-r--r--source/blender/editors/mesh/bmeshutils.c3
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: