[Mono-bugs] [Bug 76907][Nor] Changed - System.Drawing.DrawCurve
with numberOfSegments problem
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Tue Dec 6 04:28:22 EST 2005
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by duncan at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=76907
--- shadow/76907 2005-12-04 21:01:04.000000000 -0500
+++ shadow/76907.tmp.7410 2005-12-06 04:28:22.000000000 -0500
@@ -1,14 +1,14 @@
Bug#: 76907
Product: Mono: Class Libraries
Version: 1.1
OS: other
OS Details: SuSE Linux 10.0 and Windows XP Pro
-Status: NEW
+Status: ASSIGNED
Resolution:
-Severity:
+Severity: Unknown
Priority: Normal
Component: Sys.Drawing.
AssignedTo: duncan at ximian.com
ReportedBy: contact at i-nz.net
QAContact: mono-bugs at ximian.com
TargetMilestone: ---
@@ -83,6 +83,33 @@
------- Additional Comments From contact at i-nz.net 2005-12-04 21:01 -------
Created an attachment (id=16165)
My Patch
+
+------- Additional Comments From duncan at ximian.com 2005-12-06 04:28 -------
+We talked about this on IRC already, but the patch is incorrect
+because the change happened in System.Drawing (Graphics.cs), instead
+of libgdiplus (graphics.c).
+
+I'm uploading the current iteration of my patch. I will need to test
+it a little more before I'm comfortable committing it. In particular,
+the results of DrawClosedCurve looks wrong (but I think they're wrong
+in the existing code as well); in addition, I need to double-check the
+code in GraphicsPath to make sure they're in sync with Graphics.
+
+Preliminary ChangeLog:
+
+2005-12-06 Duncan Mak <duncan at novell.com>
+
+ * graphics.c (make_curve): Add new argument 'offset' to
+ account for starting at a user-specified point. (Also
+ renamed 'count' to 'length').
+ (GdipDrawCurve3): Assert that: 1) offset + numOfSegments must
+ never be greater than the number of points ('count').
+ 2) numOfSegments must be at least 1.
+ 3) draw only when there are at least 3 points.
+
+ * graphics.c
+ * graphics.h (GdipDrawCurve3, GdipFillClosedCurve2): Fixed
+ signature, numOfSegments should be int, not float.
More information about the mono-bugs
mailing list