Fix some codee which was not 64bit clean.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26816 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
rfm 2008-08-21 08:42:20 +00:00
parent 291b40c4ef
commit c6f931eaf9
2 changed files with 21 additions and 19 deletions

View file

@ -1,3 +1,9 @@
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.
2008-08-15 Fred Kiefer <FredKiefer@gmx.de> 2008-08-15 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSWindow.m (-makeKeyAndOrderFront:): Unhide the application. * Source/NSWindow.m (-makeKeyAndOrderFront:): Unhide the application.

View file

@ -1966,40 +1966,36 @@ static NSPoint point_on_curve(double t, NSPoint a, NSPoint b, NSPoint c,
{ {
NSBezierPathElement type; NSBezierPathElement type;
int i, count; int i, count;
PathElement *elments = (PathElement *)GSIArrayItems(pathElements); GSIArrayItem *elments = GSIArrayItems(pathElements);
SEL transformPointSel = @selector(transformPoint:); SEL transformPointSel = @selector(transformPoint:);
NSPoint (*transformPointImp)(NSAffineTransform*, SEL, NSPoint); NSPoint (*transformPointImp)(NSAffineTransform*, SEL, NSPoint);
transformPointImp = (NSPoint (*)(NSAffineTransform*, SEL, NSPoint)) transformPointImp = (NSPoint (*)(NSAffineTransform*, SEL, NSPoint))
[transform methodForSelector: transformPointSel]; [transform methodForSelector: transformPointSel];
count = GSIArrayCount(pathElements); count = GSIArrayCount(pathElements);
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
{ {
type = elments[i].type; type = elments[i].ext.type;
switch(type) switch(type)
{ {
case NSMoveToBezierPathElement: case NSMoveToBezierPathElement:
case NSLineToBezierPathElement: case NSLineToBezierPathElement:
elments[i].points[0] = (*transformPointImp)(transform, elments[i].ext.points[0] = (*transformPointImp)(transform,
transformPointSel, transformPointSel, elments[i].ext.points[0]);
elments[i].points[0]); break;
break;
case NSCurveToBezierPathElement: case NSCurveToBezierPathElement:
elments[i].points[0] = (*transformPointImp)(transform, elments[i].ext.points[0] = (*transformPointImp)(transform,
transformPointSel, transformPointSel, elments[i].ext.points[0]);
elments[i].points[0]); elments[i].ext.points[1] = (*transformPointImp)(transform,
elments[i].points[1] = (*transformPointImp)(transform, transformPointSel, elments[i].ext.points[1]);
transformPointSel, elments[i].ext.points[2] = (*transformPointImp)(transform,
elments[i].points[1]); transformPointSel, elments[i].ext.points[2]);
elments[i].points[2] = (*transformPointImp)(transform, break;
transformPointSel,
elments[i].points[2]);
break;
case NSClosePathBezierPathElement: case NSClosePathBezierPathElement:
break; break;
default: default:
break; break;
} }
} }
INVALIDATE_CACHE(); INVALIDATE_CACHE();