check the return value of ImageIO.write

Review at http://gwt-code-reviews.appspot.com/1030801

Review by: zundel@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@9116 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java b/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
index 43f3377..429acfa 100644
--- a/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
+++ b/user/src/com/google/gwt/resources/rg/ImageBundleBuilder.java
@@ -555,11 +555,17 @@
 
     try {
       ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
-      ImageIO.write(bundledImage, BUNDLE_FILE_TYPE, byteOutputStream);
+      boolean writerAvailable = ImageIO.write(bundledImage, BUNDLE_FILE_TYPE,
+          byteOutputStream);
+      if (!writerAvailable) {
+        logger.log(TreeLogger.ERROR, "No " + BUNDLE_FILE_TYPE
+            + " writer available");
+        throw new UnableToCompleteException();
+      }
       imageBytes = byteOutputStream.toByteArray();
     } catch (IOException e) {
       logger.log(TreeLogger.ERROR,
-          "Unable to generate file name for image bundle file", null);
+          "An error occurred while trying to write the image bundle.", e);
       throw new UnableToCompleteException();
     }
     return imageBytes;
diff --git a/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java b/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
index bbcb733..3ad43e9 100644
--- a/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
+++ b/user/src/com/google/gwt/user/rebind/ui/ImageBundleBuilder.java
@@ -326,11 +326,17 @@
 
     try {
       ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
-      ImageIO.write(bundledImage, BUNDLE_FILE_TYPE, byteOutputStream);
+      boolean writerAvailable = ImageIO.write(bundledImage, BUNDLE_FILE_TYPE,
+          byteOutputStream);
+      if (!writerAvailable) {
+        logger.log(TreeLogger.ERROR, "No " + BUNDLE_FILE_TYPE
+            + " writer available");
+        throw new UnableToCompleteException();
+      }
       imageBytes = byteOutputStream.toByteArray();
     } catch (IOException e) {
       logger.log(TreeLogger.ERROR,
-          "Unable to generate file name for image bundle file", null);
+          "An error occurred while trying to write the image bundle.", e);
       throw new UnableToCompleteException();
     }