You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2012/05/18 16:53:13 UTC
svn commit: r1340117 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject:
PDPixelMap.java PDXObjectImage.java
Author: lehmi
Date: Fri May 18 14:53:12 2012
New Revision: 1340117
URL: http://svn.apache.org/viewvc?rev=1340117&view=rev
Log:
PDFBOX-892: avoid ClassCastException in PDXObjectImage#getMask by returning a COSBase instead of COSArray
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java?rev=1340117&r1=1340116&r2=1340117&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDPixelMap.java Fri May 18 14:53:12 2012
@@ -210,7 +210,7 @@ public class PDPixelMap extends PDXObjec
int size = Math.min(numberOfColorValues-1, highValue);
byte[] index = csIndexed.getLookupData();
boolean hasAlpha = baseColorModel.hasAlpha();
- COSArray maskArray = getMask();
+ COSBase maskArray = getMask();
if( baseColorModel.getTransferType() != DataBuffer.TYPE_BYTE )
{
throw new IOException( "Not implemented" );
@@ -235,9 +235,9 @@ public class PDPixelMap extends PDXObjec
}
bufferIndex += numberOfComponents;
}
- if (maskArray != null)
+ if (maskArray != null && maskArray instanceof COSArray)
{
- cm = new IndexColorModel(bpc, size+1, colorValues, 0, hasAlpha, maskArray.getInt(0));
+ cm = new IndexColorModel(bpc, size+1, colorValues, 0, hasAlpha, ((COSArray)maskArray).getInt(0));
}
else
{
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java?rev=1340117&r1=1340116&r2=1340117&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDXObjectImage.java Fri May 18 14:53:12 2012
@@ -354,15 +354,16 @@ public abstract class PDXObjectImage ext
/**
* Returns the optional mask of a XObjectImage if there is one.
*
- * @return The mask as COSArray otherwise null.
+ * @return The mask otherwise null.
*/
- public COSArray getMask()
+ public COSBase getMask()
{
COSBase mask = getCOSStream().getDictionaryObject(COSName.MASK);
if (mask != null)
{
- return (COSArray)mask;
+ return mask;
}
return null;
}
+
}