You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2016/01/25 21:54:02 UTC

svn commit: r1726688 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java

Author: tilman
Date: Mon Jan 25 20:54:01 2016
New Revision: 1726688

URL: http://svn.apache.org/viewvc?rev=1726688&view=rev
Log:
PDFBOX-3204: adjust minimum dash line width once again to avoid JVM crash

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java?rev=1726688&r1=1726687&r2=1726688&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java Mon Jan 25 20:54:01 2016
@@ -422,7 +422,12 @@ public class PageDrawer extends PDFStrea
                 // apply the CTM
                 for (int i = 0; i < dashArray.length; ++i)
                 {
-                    dashArray[i] = transformWidth(dashArray[i]);
+                    // minimum line dash width avoids JVM crash, see PDFBOX-2373, PDFBOX-2929, PDFBOX-3204
+                    float w = transformWidth(dashArray[i]);
+                    if (w != 0)
+                    {
+                        dashArray[i] = Math.max(w, 0.035f);
+                    }
                 }
                 phaseStart = (int)transformWidth(phaseStart);