diff --git a/common/common-io/src/main/java/com/twelvemonkeys/io/FileUtil.java b/common/common-io/src/main/java/com/twelvemonkeys/io/FileUtil.java index 8178ab86..5f2953ee 100755 --- a/common/common-io/src/main/java/com/twelvemonkeys/io/FileUtil.java +++ b/common/common-io/src/main/java/com/twelvemonkeys/io/FileUtil.java @@ -346,7 +346,7 @@ public final class FileUtil { /** * Gets the file (type) extension of the given file. - * A file extension is the part of the filename, after the last occurence + * A file extension is the part of the filename, after the last occurrence * of a period {@code '.'}. * If the filename contains no period, {@code null} is returned. * diff --git a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java index 3043aea6..97d8e748 100644 --- a/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java +++ b/imageio/imageio-core/src/test/java/com/twelvemonkeys/imageio/util/ImageReaderAbstractTest.java @@ -1631,12 +1631,14 @@ public abstract class ImageReaderAbstractTest { BufferedImage one = reader.read(0); BufferedImage two = reader.read(0); + // Test for same BufferedImage instance assertNotSame("Multiple reads return same (mutable) image", one, two); - one.setRGB(0, 0, Color.BLUE.getRGB()); - two.setRGB(0, 0, Color.RED.getRGB()); - + // Test for same backing storage (array) + one.setRGB(0, 0, Color.BLACK.getRGB()); + two.setRGB(0, 0, Color.WHITE.getRGB()); assertTrue(one.getRGB(0, 0) != two.getRGB(0, 0)); + reader.dispose(); } diff --git a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java index 35e4805f..f32f4d56 100644 --- a/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java +++ b/imageio/imageio-jpeg/src/main/java/com/twelvemonkeys/imageio/plugins/jpeg/JPEGSegmentImageInputStream.java @@ -150,7 +150,6 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { else { if (marker == JPEG.EOI) { segment = new Segment(marker, realPosition, segment.end(), 2); - segments.add(segment); } else { // Length including length field itself @@ -165,6 +164,7 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { // Inspect segment, see if we have 16 bit precision (assuming segments will not contain // multiple quality tables with varying precision) int qtInfo = stream.read(); + if ((qtInfo & 0x10) == 0x10) { processWarningOccured("16 bit DQT encountered"); segment = new DownsampledDQTReplacement(realPosition, segment.end(), length, qtInfo, stream); @@ -188,10 +188,9 @@ final class JPEGSegmentImageInputStream extends ImageInputStreamImpl { else { segment = new Segment(marker, realPosition, segment.end(), length); } - - segments.add(segment); } + segments.add(segment); currentSegment = segments.size() - 1; if (marker == JPEG.SOS) {