< prev index next >

src/java.desktop/share/classes/com/sun/imageio/plugins/tiff/TIFFImageWriter.java

Print this page

        

@@ -2435,10 +2435,14 @@
             throw new IllegalArgumentException("Empty source region!");
         }
 
         clearAbortRequest();
         processImageStarted(0);
+        if (abortRequested()) {
+            processWriteAborted();
+            return;
+        }
 
         // Optionally write the header.
         if (writeHeader) {
             // Clear previous stream metadata.
             this.streamMetadata = null;

@@ -2587,10 +2591,14 @@
                         nextSpace = pos + byteCount;
                     }
 
                     pixelsDone += tileRect.width*tileRect.height;
                     processImageProgress(100.0F*pixelsDone/totalPixels);
+                    if (abortRequested()) {
+                        processWriteAborted();
+                        return;
+                    }
 
                     // Fill in the offset and byte count for the file
                     stream.mark();
                     stream.seek(stripOrTileOffsetsPosition);
                     stream.writeInt((int)pos);

@@ -2601,15 +2609,10 @@
                     stripOrTileByteCountsPosition += 4;
                     stream.reset();
                 } catch (IOException e) {
                     throw new IIOException("I/O error writing TIFF file!", e);
                 }
-
-                if (abortRequested()) {
-                    processWriteAborted();
-                    return;
-                }
             }
         }
 
         processImageComplete();
         currentImage++;
< prev index next >