From 1f0ed457fde6c2f7e78f718079044082bd3fedce Mon Sep 17 00:00:00 2001 From: Stefan Walter Date: Sun, 16 Jun 2013 17:05:55 +0000 Subject: - Fix build with JDK 1.7. [1] - Propagate Make environment to Ant to use the correct JDK and not just the one that Ant was built with. PR: 173505 [1] Submitted by: James Raynard [1] Patch by: Piotr Smyrak [1] Obtained from: https://launchpad.net/ubuntu/+source/java3d/1.5.2+dfsg-8 [1] --- java/java3d/files/patch-ImageComponentState.java | 50 ++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 java/java3d/files/patch-ImageComponentState.java (limited to 'java/java3d/files/patch-ImageComponentState.java') diff --git a/java/java3d/files/patch-ImageComponentState.java b/java/java3d/files/patch-ImageComponentState.java new file mode 100644 index 000000000000..6eacc3fa0a09 --- /dev/null +++ b/java/java3d/files/patch-ImageComponentState.java @@ -0,0 +1,50 @@ +work/java3d-1.5.2/j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d +--- j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java.orig ++++ j3d-core-utils/src/classes/share/com/sun/j3d/utils/scenegraph/io/state/javax/media/j3d/ImageComponentState.java +@@ -61,10 +61,7 @@ import com.sun.j3d.utils.scenegraph.io.r + import com.sun.j3d.utils.scenegraph.io.retained.SGIORuntimeException; + import java.awt.color.ColorSpace; + import java.awt.image.DataBuffer; +-import com.sun.image.codec.jpeg.JPEGImageEncoder; +-import com.sun.image.codec.jpeg.JPEGImageDecoder; +-import com.sun.image.codec.jpeg.JPEGCodec; +-import com.sun.image.codec.jpeg.JPEGEncodeParam; ++import javax.imageio.ImageIO; + + public abstract class ImageComponentState extends NodeComponentState { + +@@ -203,10 +200,9 @@ public abstract class ImageComponentStat + + private void writeBufferedImageJpegCompression( DataOutput out, BufferedImage image ) throws IOException { + ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); +- JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( byteStream ); +- +- encoder.encode( image ); +- byteStream.close(); ++ if (!ImageIO.write(image, "jpeg", byteStream)) { ++ throw new AssertionError("No JPEG encoder available"); ++ } + + byte[] buffer = byteStream.toByteArray(); + out.writeInt( buffer.length ); +@@ -261,11 +257,15 @@ public abstract class ImageComponentStat + byte[] buffer = new byte[ size ]; + in.readFully( buffer ); + ByteArrayInputStream byteStream = new ByteArrayInputStream( buffer ); +- +- JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder( byteStream ); +- byteStream.close(); +- +- return decoder.decodeAsBufferedImage(); ++ try { ++ BufferedImage img = ImageIO.read(byteStream); ++ if (img == null) { ++ throw new AssertionError("No ImageReader available."); ++ } ++ return img; ++ } finally { ++ byteStream.close(); ++ } + } + + private void writeColorModel( DataOutput out, ColorModel colorModel ) throws IOException { -- cgit v1.2.3