You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ca...@apache.org on 2007/11/03 05:46:31 UTC

svn commit: r591550 - /xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedMarkerOrientValue.java

Author: cam
Date: Fri Nov  2 21:46:27 2007
New Revision: 591550

URL: http://svn.apache.org/viewvc?rev=591550&view=rev
Log:
Avoid NPE when accessing the enumeration part of the animated marker
orient value.  Fixes bug 21073, thanks Tonny!

Modified:
    xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedMarkerOrientValue.java

Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedMarkerOrientValue.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedMarkerOrientValue.java?rev=591550&r1=591549&r2=591550&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedMarkerOrientValue.java (original)
+++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedMarkerOrientValue.java Fri Nov  2 21:46:27 2007
@@ -399,6 +399,9 @@
          * <b>DOM</b>: Implements {@link SVGAnimatedEnumeration#getBaseVal()}.
          */
         public short getBaseVal() {
+            if (baseAngleVal == null) {
+                baseAngleVal = new BaseSVGAngle();
+            }
             baseAngleVal.revalidate();
             return baseEnumerationVal;
         }
@@ -410,11 +413,17 @@
         public void setBaseVal(short baseVal) throws DOMException {
             if (baseVal == SVGMarkerElement.SVG_MARKER_ORIENT_AUTO) {
                 baseEnumerationVal = baseVal;
+                if (baseAngleVal == null) {
+                    baseAngleVal = new BaseSVGAngle();
+                }
                 baseAngleVal.unitType = SVGAngle.SVG_ANGLETYPE_UNSPECIFIED;
                 baseAngleVal.value = 0;
                 baseAngleVal.reset();
             } else if (baseVal == SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE) {
                 baseEnumerationVal = baseVal;
+                if (baseAngleVal == null) {
+                    baseAngleVal = new BaseSVGAngle();
+                }
                 baseAngleVal.reset();
             }
         }
@@ -425,6 +434,9 @@
         public short getAnimVal() {
             if (hasAnimVal) {
                 return animEnumerationVal;
+            }
+            if (baseAngleVal == null) {
+                baseAngleVal = new BaseSVGAngle();
             }
             baseAngleVal.revalidate();
             return baseEnumerationVal;