[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36455] trunk/blender/source/blender/ editors/mesh: fix [#27266] EdgeSplit + RemoveDoubles + MoveView = Crash
Campbell Barton
ideasman42 at gmail.com
Tue May 3 06:18:23 CEST 2011
Revision: 36455
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36455
Author: campbellbarton
Date: 2011-05-03 04:18:23 +0000 (Tue, 03 May 2011)
Log Message:
-----------
fix [#27266] EdgeSplit + RemoveDoubles + MoveView = Crash
Modified Paths:
--------------
trunk/blender/source/blender/editors/mesh/editmesh_mods.c
trunk/blender/source/blender/editors/mesh/editmesh_tools.c
Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2011-05-03 04:09:56 UTC (rev 36454)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c 2011-05-03 04:18:23 UTC (rev 36455)
@@ -143,9 +143,10 @@
(obedit && obedit->type==OB_MESH && (obedit->mode & OB_MODE_EDIT))
) {
EditMesh *em= me->edit_mesh;
+ int totvert= em->totvert, totedge= em->totedge, totface= em->totface;
len = removedoublesflag(em, 1, 1, scene->toolsettings->doublimit);
- if (len) {
+ if (totvert != em->totvert || totedge != em->totedge || totface != em->totface) {
if (update) {
DAG_id_tag_update(&me->id, 0);
}
Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2011-05-03 04:09:56 UTC (rev 36454)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2011-05-03 04:18:23 UTC (rev 36455)
@@ -483,10 +483,11 @@
{
Object *obedit= CTX_data_edit_object(C);
EditMesh *em= BKE_mesh_get_editmesh(((Mesh *)obedit->data));
+ int totvert= em->totvert, totedge= em->totedge, totface= em->totface;
int count = removedoublesflag(em,1,0,RNA_float_get(op->ptr, "limit"));
- if(count) {
+ if (totvert != em->totvert || totedge != em->totedge || totface != em->totface) {
recalc_editnormals(em);
DAG_id_tag_update(obedit->data, 0);
@@ -5919,6 +5920,7 @@
EditMesh *em= BKE_mesh_get_editmesh((Mesh *)obedit->data);
int count= 0, uvs= RNA_boolean_get(op->ptr, "uvs");
EditSelection *ese;
+ int totvert= em->totvert, totedge= em->totedge, totface= em->totface;
switch(RNA_enum_get(op->ptr, "type")) {
case 3:
@@ -5949,7 +5951,7 @@
break;
}
- if(!count)
+ if (!(totvert != em->totvert || totedge != em->totedge || totface != em->totface))
return OPERATOR_CANCELLED;
recalc_editnormals(em);
More information about the Bf-blender-cvs
mailing list