You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2012/11/25 12:53:51 UTC

svn commit: r1413339 - in /poi/trunk/src: documentation/content/xdocs/status.xml scratchpad/src/org/apache/poi/hslf/model/Freeform.java scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java

Author: yegor
Date: Sun Nov 25 11:53:50 2012
New Revision: 1413339

URL: http://svn.apache.org/viewvc?rev=1413339&view=rev
Log:
Bugzilla 54188 - Avoid NPE in PPT2PNG

Modified:
    poi/trunk/src/documentation/content/xdocs/status.xml
    poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java
    poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java

Modified: poi/trunk/src/documentation/content/xdocs/status.xml
URL: http://svn.apache.org/viewvc/poi/trunk/src/documentation/content/xdocs/status.xml?rev=1413339&r1=1413338&r2=1413339&view=diff
==============================================================================
--- poi/trunk/src/documentation/content/xdocs/status.xml (original)
+++ poi/trunk/src/documentation/content/xdocs/status.xml Sun Nov 25 11:53:50 2012
@@ -34,6 +34,7 @@
 
     <changes>
         <release version="3.9-beta1" date="2012-??-??">
+          <action dev="poi-developers" type="fix">54188 - Avoid NPE in PPT2PNG</action>
           <action dev="poi-developers" type="fix">52628 - Replace System.err info messages with a POILogger</action>
           <action dev="poi-developers" type="fix">54137 - improved performance of DataFormatter with Fractions</action>
           <action dev="poi-developers" type="fix">54099 - Ensure that CTHMerge and CTTcBorders go to poi-ooxml-schemas jar</action>

Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java?rev=1413339&r1=1413338&r2=1413339&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java Sun Nov 25 11:53:50 2012
@@ -244,6 +244,11 @@ public final class Freeform extends Auto
 
     public java.awt.Shape getOutline(){
         GeneralPath path =  getPath();
+        if(path == null) {
+            // return empty path if either GEOMETRY__VERTICES or GEOMETRY__SEGMENTINFO is missing, see Bugzilla 54188
+            return new GeneralPath();
+        }
+
         Rectangle2D anchor = getAnchor2D();
         Rectangle2D bounds = path.getBounds2D();
         AffineTransform at = new AffineTransform();

Modified: poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java?rev=1413339&r1=1413338&r2=1413339&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java (original)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java Sun Nov 25 11:53:50 2012
@@ -71,4 +71,16 @@ public final class TestFreeform extends 
         java.awt.Shape path2 = p.getOutline();
         assertTrue(new Area(path1).equals(new Area(path2)));
    }
+
+    /**
+     * Avoid NPE in  Freeform.getOutline() if either GEOMETRY__VERTICES or
+     * GEOMETRY__SEGMENTINFO is missing, see Bugzilla 54188
+     */
+    public void test54188() {
+
+        Freeform p = new Freeform();
+        GeneralPath path = (GeneralPath)p.getOutline();
+        GeneralPath emptyPath = new GeneralPath();
+        assertEquals(emptyPath.getBounds2D(), path.getBounds2D());
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org