[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [41333] branches/bmesh/blender/source/ blender: the BMesh select mode wasnt being set on entering editmode, this made snap to selection fail.

Campbell Barton ideasman42 at gmail.com
Fri Oct 28 10:09:36 CEST 2011


Revision: 41333
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41333
Author:   campbellbarton
Date:     2011-10-28 08:09:34 +0000 (Fri, 28 Oct 2011)
Log Message:
-----------
the BMesh select mode wasnt being set on entering editmode, this made snap to selection fail.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/bmesh/bmesh_class.h
    branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
    branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c

Modified: branches/bmesh/blender/source/blender/bmesh/bmesh_class.h
===================================================================
--- branches/bmesh/blender/source/blender/bmesh/bmesh_class.h	2011-10-28 06:23:12 UTC (rev 41332)
+++ branches/bmesh/blender/source/blender/bmesh/bmesh_class.h	2011-10-28 08:09:34 UTC (rev 41333)
@@ -135,8 +135,11 @@
 
 	struct BLI_mempool *looplistpool;
 	
-	/*should be copy of scene select mode*/
-	int selectmode;
+	/* should be copy of scene select mode */
+	/* stored in BMEditMesh too, this is a bit confusing,
+	 * make sure the're in sync!
+	 * Only use when the edit mesh cant be accessed - campbell */
+	short selectmode;
 	
 	/*ID of the shape key this bmesh came from*/
 	int shapenr;

Modified: branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c	2011-10-28 06:23:12 UTC (rev 41332)
+++ branches/bmesh/blender/source/blender/editors/mesh/bmeshutils.c	2011-10-28 08:09:34 UTC (rev 41333)
@@ -281,7 +281,7 @@
 	}
 
 	me->edit_btmesh = BMEdit_Create(bm);
-	me->edit_btmesh->selectmode = ts->selectmode;
+	me->edit_btmesh->selectmode= me->edit_btmesh->bm->selectmode= ts->selectmode;
 	me->edit_btmesh->me = me;
 	me->edit_btmesh->ob = ob;
 }

Modified: branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c
===================================================================
--- branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c	2011-10-28 06:23:12 UTC (rev 41332)
+++ branches/bmesh/blender/source/blender/editors/space_view3d/view3d_snap.c	2011-10-28 08:09:34 UTC (rev 41333)
@@ -235,7 +235,7 @@
 		
 		// transform now requires awareness for select mode, so we tag the f1 flags in verts
 		tottrans= 0;
-		if(em->bm->selectmode & SCE_SELECT_VERTEX) {
+		if(em->selectmode & SCE_SELECT_VERTEX) {
 			BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL) {
 				if(!BM_TestHFlag(eve, BM_HIDDEN) && BM_TestHFlag(eve, BM_SELECT)) {
 					BM_SetIndex(eve, 1);
@@ -244,7 +244,7 @@
 				else BM_SetIndex(eve, 0);
 			}
 		}
-		else if(em->bm->selectmode & SCE_SELECT_EDGE) {
+		else if(em->selectmode & SCE_SELECT_EDGE) {
 			BMEdge *eed;
 
 			BM_ITER(eve, &iter, bm, BM_VERTS_OF_MESH, NULL)




More information about the Bf-blender-cvs mailing list