2008-08-21 Richard Frith-Macdonald <rfm@gnu.org>

	* Source/NSBezierPath.m: ([transformUsingAffineTransform:]) corrected
	code which was casting an array of items of one type to be an array
	of items of another type whose size differs on 64bit machines.


Index: NSBezierPath.m
===================================================================
--- NSBezierPath.m	(revision 26619)
+++ NSBezierPath.m	(revision 26816)
@@ -1966,7 +1966,7 @@
 {
   NSBezierPathElement type;
   int i, count;
-  PathElement *elments = (PathElement *)GSIArrayItems(pathElements);
+  GSIArrayItem *elments = GSIArrayItems(pathElements);
   SEL transformPointSel = @selector(transformPoint:); 
   NSPoint (*transformPointImp)(NSAffineTransform*, SEL, NSPoint);
 
@@ -1976,25 +1976,21 @@
   count = GSIArrayCount(pathElements);
   for (i = 0; i < count; i++) 
     {
-      type = elments[i].type;
+      type = elments[i].ext.type;
       switch(type) 
         {
 	  case NSMoveToBezierPathElement:
 	  case NSLineToBezierPathElement:
-	      elments[i].points[0] = (*transformPointImp)(transform,  
-							  transformPointSel, 
-							  elments[i].points[0]);
+            elments[i].ext.points[0] = (*transformPointImp)(transform,
+              transformPointSel, elments[i].ext.points[0]);
 	      break;
 	  case NSCurveToBezierPathElement:
-	      elments[i].points[0] = (*transformPointImp)(transform,  
-							  transformPointSel, 
-							  elments[i].points[0]);
-	      elments[i].points[1] = (*transformPointImp)(transform,  
-							  transformPointSel, 
-							  elments[i].points[1]);
-	      elments[i].points[2] = (*transformPointImp)(transform,  
-							  transformPointSel, 
-							  elments[i].points[2]);
+            elments[i].ext.points[0] = (*transformPointImp)(transform,  
+              transformPointSel, elments[i].ext.points[0]);
+            elments[i].ext.points[1] = (*transformPointImp)(transform,  
+              transformPointSel, elments[i].ext.points[1]);
+            elments[i].ext.points[2] = (*transformPointImp)(transform,  
+              transformPointSel, elments[i].ext.points[2]);
 	      break;
 	  case NSClosePathBezierPathElement:
 	      break;
