deweese 02/04/24 17:45:42 Modified: sources/org/apache/batik/bridge AbstractGraphicsNodeBridge.java sources/org/apache/batik/gvt/font SVGGVTGlyphVector.java sources/org/apache/batik/gvt/text GlyphIterator.java Log: 1) Fixed a bug where elements without update handlers would cause an exception 2) Fixed an off by one bug in GlyphIterator. Revision Changes Path 1.24 +3 -2 xml-batik/sources/org/apache/batik/bridge/AbstractGraphicsNodeBridge.java Index: AbstractGraphicsNodeBridge.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/AbstractGraphicsNodeBridge.java,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- AbstractGraphicsNodeBridge.java 23 Apr 2002 17:10:13 -0000 1.23 +++ AbstractGraphicsNodeBridge.java 25 Apr 2002 00:45:42 -0000 1.24 @@ -44,7 +44,7 @@ * </ul> * * @author <a href="mailto:[EMAIL PROTECTED]">Thierry Kormann</a> - * @version $Id: AbstractGraphicsNodeBridge.java,v 1.23 2002/04/23 17:10:13 tkormann Exp $ + * @version $Id: AbstractGraphicsNodeBridge.java,v 1.24 2002/04/25 00:45:42 deweese Exp $ */ public abstract class AbstractGraphicsNodeBridge extends AbstractSVGBridge implements SVGContext, @@ -207,7 +207,8 @@ if (node instanceof SVGOMElement) { SVGOMElement elt = (SVGOMElement)node; BridgeUpdateHandler h = (BridgeUpdateHandler)elt.getSVGContext(); - h.dispose(); + if (h != null) + h.dispose(); } for (Node n = node.getFirstChild(); n!=null; n = n.getNextSibling()) { disposeTree(n); 1.11 +2 -2 xml-batik/sources/org/apache/batik/gvt/font/SVGGVTGlyphVector.java Index: SVGGVTGlyphVector.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/font/SVGGVTGlyphVector.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- SVGGVTGlyphVector.java 7 Mar 2002 22:07:44 -0000 1.10 +++ SVGGVTGlyphVector.java 25 Apr 2002 00:45:42 -0000 1.11 @@ -29,7 +29,7 @@ * A GVTGlyphVector class for SVG fonts. * * @author <a href="mailto:[EMAIL PROTECTED]">Bella Robinson</a> - * @version $Id: SVGGVTGlyphVector.java,v 1.10 2002/03/07 22:07:44 deweese Exp $ + * @version $Id: SVGGVTGlyphVector.java,v 1.11 2002/04/25 00:45:42 deweese Exp $ */ public final class SVGGVTGlyphVector implements GVTGlyphVector { @@ -62,7 +62,7 @@ for (int i = 0; i < glyphs.length; i++) { glyphVisible[i] = true; } - + endPos = glyphs[glyphs.length-1].getPosition(); endPos = new Point2D.Float ((float)(endPos.getX()+glyphs[glyphs.length-1].getHorizAdvX()), 1.4 +10 -8 xml-batik/sources/org/apache/batik/gvt/text/GlyphIterator.java Index: GlyphIterator.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/text/GlyphIterator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- GlyphIterator.java 12 Apr 2002 14:36:48 -0000 1.3 +++ GlyphIterator.java 25 Apr 2002 00:45:42 -0000 1.4 @@ -174,24 +174,27 @@ public float getMaxFontSize() { if (aciIdx >= fontStart) { - updateLineMetrics(aciIdx); - fontStart = aciIdx + gv.getCharacterCount(idx,idx); + int newFS = aciIdx + gv.getCharacterCount(idx,idx); + updateLineMetrics(newFS); + fontStart = newFS; } return maxFontSize; } public float getMaxAscent() { if (aciIdx >= fontStart) { - updateLineMetrics(aciIdx); - fontStart = aciIdx + gv.getCharacterCount(idx,idx); + int newFS = aciIdx + gv.getCharacterCount(idx,idx); + updateLineMetrics(newFS); + fontStart = newFS; } return maxAscent; } public float getMaxDescent() { if (aciIdx >= fontStart) { - updateLineMetrics(aciIdx); - fontStart = aciIdx + gv.getCharacterCount(idx,idx); + int newFS = aciIdx + gv.getCharacterCount(idx,idx); + updateLineMetrics(newFS); + fontStart = newFS; } return maxDescent; } @@ -263,14 +266,13 @@ } } - int preIncACIIdx = aciIdx; aciIdx += gv.getCharacterCount(idx,idx); ch = aci.setIndex(aciIdx); idx++; if (idx == numGlyphs) return; if (aciIdx >= runLimit) { - updateLineMetrics(preIncACIIdx); + updateLineMetrics(aciIdx); runLimit = aci.getRunLimit(TEXT_COMPOUND_DELIMITER); font = (GVTFont)aci.getAttribute(GVT_FONT); if (font == null) {
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]