bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch #6286] NSBezierPath encode/decode improperly implemented


From: Christopher Wojno
Subject: [patch #6286] NSBezierPath encode/decode improperly implemented
Date: Thu, 29 Nov 2007 19:37:50 +0000
User-agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.9) Gecko/20071117 Firefox/2.0.0.9

Follow-up Comment #5, patch #6286 (project gnustep):

Ah, now I see what you were doing. You wanted it to fall through so you
didn't have to write the encode again. That does not work, however, with the
decoder as you saw. The encoder case is correct then. It's still broken
without @encode(enum NSBezierPathElement) however.

Yet another decoding bug:
Curved line point decoding is done incorrectly. According to apple's
documentation, the end point of a curved line is p[2], not p[0]. The control
points take up p[0] and p[1]. See:
http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/Classes/NSBezierPath_Class/index.html#//apple_ref/doc/uid/TP40004008

Is it idiotic? Yes, completely. Would I have done it (with end points moving
around in the array of points) that way? No way.

Change:
[self curveToPoint: pts[0] controlPoint1: pts[1] controlPoint2: pts[2]];

To:
[self curveToPoint: pts[2] controlPoint1: pts[0] controlPoint2: pts[1]];

I'm not sure how you wrote the rest of the class (I'm a bit busy with the end
of the semester), but that is crucial for cross platform compatibility.

Glad this is getting looked at. Thanks Fred.

(file #14509)
    _______________________________________________________

Additional Item Attachment:

File name:
gnustep-gui-nsbezierpath-encode-missing-move-to-fix-and-point-order.patch
Size:3 KB


    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/patch/?6286>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]