[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [10827] branches/bmesh/source/blender/src: Added fix to editmode enter where faces were getting flipped ( incorrect calling of BME_MF).
Geoffrey Bantle
hairbat at yahoo.com
Thu May 31 11:29:19 CEST 2007
Revision: 10827
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=10827
Author: briggs
Date: 2007-05-31 11:29:18 +0200 (Thu, 31 May 2007)
Log Message:
-----------
Added fix to editmode enter where faces were getting flipped (incorrect calling of BME_MF).
Also fixed crash on editmode exit/reenter cycle where G.editMesh was not getting set to NULL.
Modified Paths:
--------------
branches/bmesh/source/blender/src/editbmesh_interface.c
branches/bmesh/source/blender/src/editobject.c
Modified: branches/bmesh/source/blender/src/editbmesh_interface.c
===================================================================
--- branches/bmesh/source/blender/src/editbmesh_interface.c 2007-05-31 07:42:54 UTC (rev 10826)
+++ branches/bmesh/source/blender/src/editbmesh_interface.c 2007-05-31 09:29:18 UTC (rev 10827)
@@ -143,6 +143,8 @@
PointerArray edgearr = {0};
int i, j;
+ BME_model_begin(bmesh);
+
if (me->totface && !me->totpoly) {
printf("ERROR: paranoia mesh conversion function was called!\n");
return BME_fromOldMesh(me);
@@ -172,7 +174,8 @@
PA_AddToArray(&edgearr, edge_table[mloop->edge], j);
mloop++;
}
- poly = BME_MF(bmesh, ((BME_Edge*)edgearr.array[0])->v1, ((BME_Edge*)edgearr.array[0])->v2, (BME_Edge**)edgearr.array, j);
+ mloop = &me->mloop[mpoly->firstloop];
+ poly = BME_MF(bmesh, vert_table[mloop->v],vert_table[(mloop+1)->v],(BME_Edge**)edgearr.array, j);
poly->flag = mpoly->flag;
if (!poly) {
printf("EVIL POLY NOT CREATED!! EVVVIILL!!\n");
@@ -188,6 +191,7 @@
if (vert_table) MEM_freeN(vert_table);
if (edge_table) MEM_freeN(edge_table);
+ BME_model_end(bmesh);
return bmesh;
}
@@ -414,6 +418,7 @@
allqueue(REDRAWVIEW3D, 1);
}
}
+ makeDerivedMesh(G.obedit,CD_MASK_EDITMESH);
rightmouse_transform();
}
Modified: branches/bmesh/source/blender/src/editobject.c
===================================================================
--- branches/bmesh/source/blender/src/editobject.c 2007-05-31 07:42:54 UTC (rev 10826)
+++ branches/bmesh/source/blender/src/editobject.c 2007-05-31 09:29:18 UTC (rev 10827)
@@ -1681,8 +1681,10 @@
}
EditBME_loadEditMesh(G.obedit->data);
- if(freedata && G.editMesh) BME_free_mesh(G.editMesh);
-
+ if(freedata && G.editMesh){
+ BME_free_mesh(G.editMesh);
+ G.editMesh = NULL;
+ }
if(G.f & G_FACESELECT)
allqueue(REDRAWIMAGE, 0);
if(G.f & G_WEIGHTPAINT)
More information about the Bf-blender-cvs
mailing list