2003/05/12 05:31:50
[org.ibex.core.git] / src / org / xwt / PNG.java
index 1c06968..20979a9 100644 (file)
@@ -54,7 +54,7 @@ public class PNG implements ImageDecoder {
         // consume the header
         if ((inputStream.read() != 137) || (inputStream.read() != 80) || (inputStream.read() != 78) || (inputStream.read() != 71) ||
             (inputStream.read() != 13) || (inputStream.read() != 10) || (inputStream.read() != 26) || (inputStream.read() != 10)) {
-            System.out.println("PNG: error: input file " + name + " is not a PNG file");
+            Log.log(this, "PNG: error: input file " + name + " is not a PNG file");
             data = new int[] { };
             width = height = 0;
             return;
@@ -159,8 +159,12 @@ public class PNG implements ImageDecoder {
     /** handle transparency chunk; modifies palette */
     private void handletRNS() throws IOException {
         int chunkLen = chunkLength;
-               if (palette == null) throw new IOException("tRNS chunk encountered before pLTE");
-               int len = palette.length;
+        if (palette == null) {
+            if (Log.on) Log.log(this, "warning: tRNS chunk encountered before pLTE; ignoring alpha channel");
+            inputStream.skip(chunkLength);
+            return;
+        }
+        int len = palette.length;
         if (colorType == 3) {
             transparency = true;