[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14433] trunk/blender/source/blender:

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Apr 15 20:08:09 CEST 2008


Revision: 14433
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14433
Author:   blendix
Date:     2008-04-15 20:07:04 +0200 (Tue, 15 Apr 2008)

Log Message:
-----------

Bugfix: editmode mesh transform was doing slow x-axis mirror
computations with the option disabled. Also small memory usage
optimization for vertex groups.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/customdata.c
    trunk/blender/source/blender/src/transform_conversions.c

Modified: trunk/blender/source/blender/blenkernel/intern/customdata.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/customdata.c	2008-04-15 15:52:18 UTC (rev 14432)
+++ trunk/blender/source/blender/blenkernel/intern/customdata.c	2008-04-15 18:07:04 UTC (rev 14433)
@@ -97,11 +97,16 @@
 
 	for(i = 0; i < count; ++i) {
 		MDeformVert *dvert = (MDeformVert *)((char *)dest + i * size);
-		MDeformWeight *dw = MEM_callocN(dvert->totweight * sizeof(*dw),
-		                                "layerCopy_mdeformvert dw");
 
-		memcpy(dw, dvert->dw, dvert->totweight * sizeof(*dw));
-		dvert->dw = dw;
+		if(dvert->totweight) {
+			MDeformWeight *dw = MEM_callocN(dvert->totweight * sizeof(*dw),
+											"layerCopy_mdeformvert dw");
+
+			memcpy(dw, dvert->dw, dvert->totweight * sizeof(*dw));
+			dvert->dw = dw;
+		}
+		else
+			dvert->dw = NULL;
 	}
 }
 

Modified: trunk/blender/source/blender/src/transform_conversions.c
===================================================================
--- trunk/blender/source/blender/src/transform_conversions.c	2008-04-15 15:52:18 UTC (rev 14432)
+++ trunk/blender/source/blender/src/transform_conversions.c	2008-04-15 18:07:04 UTC (rev 14433)
@@ -2012,7 +2012,7 @@
 	int propmode = t->flag & T_PROP_EDIT;
 	int mirror = 0;
 	
-	if ((t->context & CTX_NO_MIRROR) == 0 || (G.scene->toolsettings->editbutflag & B_MESH_X_MIRROR))
+	if ((t->context & CTX_NO_MIRROR) == 0 && (G.scene->toolsettings->editbutflag & B_MESH_X_MIRROR))
 	{
 		mirror = 1;
 	}





More information about the Bf-blender-cvs mailing list