tkormann 01/09/06 02:01:26 Modified: sources/org/apache/batik/ext/awt/geom ExtendedGeneralPath.java Log: Fix Bug#: 2430 If an arc is specified in an svg file which starts and finishes in the same place it causes problems. The svgbrowser hangs (using cpu) and does not render anything, the transcoders hang and the data presented to the Graphics2D contains NaN values. Revision Changes Path 1.2 +6 -1 xml-batik/sources/org/apache/batik/ext/awt/geom/ExtendedGeneralPath.java Index: ExtendedGeneralPath.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/ext/awt/geom/ExtendedGeneralPath.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ExtendedGeneralPath.java 2001/01/23 17:07:04 1.1 +++ ExtendedGeneralPath.java 2001/09/06 09:01:26 1.2 @@ -22,7 +22,7 @@ * path segments. For futher details, see the SVG Appendix F.6 * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: ExtendedGeneralPath.java,v 1.1 2001/01/23 17:07:04 tkormann Exp $ + * @version $Id: ExtendedGeneralPath.java,v 1.2 2001/09/06 09:01:26 tkormann Exp $ */ public class ExtendedGeneralPath implements Shape, Cloneable { @@ -102,6 +102,11 @@ Point2D p2d = path.getCurrentPoint(); double x0 = p2d.getX(); double y0 = p2d.getY(); + if (x0 == x && y0 == y) { + // If the endpoints (x, y) and (x0, y0) are identical, then this + // is equivalent to omitting the elliptical arc segment entirely. + return; + } // Compute the half distance between the current and the final point double dx2 = (x0 - x) / 2.0; double dy2 = (y0 - y) / 2.0; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]