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 2021/05/04 03:31:27 UTC

svn commit: r1889468 - in /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading: AxialShadingContext.java RadialShadingContext.java Type1ShadingContext.java

Author: tilman
Date: Tue May  4 03:31:27 2021
New Revision: 1889468

URL: http://svn.apache.org/viewvc?rev=1889468&view=rev
Log:
PDFBOX-4892: revert last commit, values is reused and gets another length which results in out of bounds exception with PDRange

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java?rev=1889468&r1=1889467&r2=1889468&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/AxialShadingContext.java Tue May  4 03:31:27 2021
@@ -176,14 +176,12 @@ public class AxialShadingContext extends
         WritableRaster raster = getColorModel().createCompatibleWritableRaster(w, h);
         boolean useBackground;
         int[] data = new int[w * h * 4];
-        float[] values = new float[2];
         for (int j = 0; j < h; j++)
         {
             for (int i = 0; i < w; i++)
             {
                 useBackground = false;
-                values[0] = x + i;
-                values[1] = y + j;
+                float[] values = new float[] { x + i, y + j };
                 rat.transform(values, 0, values, 0, 1);
                 double inputValue = x1x0 * (values[0] - coords[0]) + y1y0 * (values[1] - coords[1]);
                 // TODO this happens if start == end, see PDFBOX-1442

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java?rev=1889468&r1=1889467&r2=1889468&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/RadialShadingContext.java Tue May  4 03:31:27 2021
@@ -182,13 +182,11 @@ public class RadialShadingContext extend
         float inputValue = -1;
         boolean useBackground;
         int[] data = new int[w * h * 4];
-        float[] values = new float[2];
         for (int j = 0; j < h; j++)
         {
             for (int i = 0; i < w; i++)
             {
-                values[0] = x + i;
-                values[1] = y + j;
+                float[] values = new float[] { x + i, y + j };
                 rat.transform(values, 0, values, 0, 1);
                 useBackground = false;
                 float[] inputValues = calculateInputValues(values[0], values[1]);

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java?rev=1889468&r1=1889467&r2=1889468&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/shading/Type1ShadingContext.java Tue May  4 03:31:27 2021
@@ -101,15 +101,13 @@ class Type1ShadingContext extends Shadin
     {
         WritableRaster raster = getColorModel().createCompatibleWritableRaster(w, h);
         int[] data = new int[w * h * 4];
-        float[] values = new float[2];
         for (int j = 0; j < h; j++)
         {
             for (int i = 0; i < w; i++)
             {
                 int index = (j * w + i) * 4;
                 boolean useBackground = false;
-                values[0] = x + i;
-                values[1] = y + j;
+                float[] values = new float[] { x + i, y + j };
                 rat.transform(values, 0, values, 0, 1);
                 if (values[0] < domain[0] || values[0] > domain[1] ||
                     values[1] < domain[2] || values[1] > domain[3])