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:
Richard Frith-MacDonald 2008-08-21 08:42:20 +00:00
parent b6e2a9c2c2
commit 1894b2468e
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>
* 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;
int i, count;
PathElement *elments = (PathElement *)GSIArrayItems(pathElements);
GSIArrayItem *elments = GSIArrayItems(pathElements);
SEL transformPointSel = @selector(transformPoint:);
NSPoint (*transformPointImp)(NSAffineTransform*, SEL, NSPoint);
transformPointImp = (NSPoint (*)(NSAffineTransform*, SEL, NSPoint))
[transform methodForSelector: transformPointSel];
[transform methodForSelector: transformPointSel];
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]);
break;
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]);
break;
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;
break;
default:
break;
break;
}
}
INVALIDATE_CACHE();