[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [43449] branches/bmesh/blender/source/ blender/modifiers/intern/MOD_solidify.c: another fix for bmesh/ solidify - was using incorrect poly length when finding the customdata to copy .

Campbell Barton ideasman42 at gmail.com
Tue Jan 17 14:27:00 CET 2012


Revision: 43449
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=43449
Author:   campbellbarton
Date:     2012-01-17 13:26:59 +0000 (Tue, 17 Jan 2012)
Log Message:
-----------
another fix for bmesh/solidify - was using incorrect poly length when finding the customdata to copy.

Modified Paths:
--------------
    branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c

Modified: branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c
===================================================================
--- branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c	2012-01-17 13:18:23 UTC (rev 43448)
+++ branches/bmesh/blender/source/blender/modifiers/intern/MOD_solidify.c	2012-01-17 13:26:59 UTC (rev 43449)
@@ -601,11 +601,15 @@
 			DM_copy_poly_data(dm, result, fidx, (numFaces * 2) + i, 1);
 			mp->loopstart = j+numLoops*2;
 			mp->flag = mpoly[fidx].flag;
-			mp->totloop = 4;
 
+			/* notice we use 'mp->totloop' which is later overwritten,
+			 * we could lookup the original face but theres no point since this is a copy
+			 * and will have the same value, just take care when changing order of assignment */
 			k1 = mpoly[fidx].loopstart + ((edge_order[eidx] + mp->totloop + 1) % mp->totloop);
-			k2 = mpoly[fidx].loopstart + ((edge_order[eidx] % mp->totloop));
+			k2 = mpoly[fidx].loopstart +  (edge_order[eidx]);
 
+			mp->totloop = 4;
+
 			CustomData_copy_data(&dm->loopData, &result->loopData, k1, numLoops*2+j+0, 1);
 			CustomData_copy_data(&dm->loopData, &result->loopData, k2, numLoops*2+j+1, 1);
 			CustomData_copy_data(&dm->loopData, &result->loopData, k2, numLoops*2+j+2, 1);




More information about the Bf-blender-cvs mailing list