# HG changeset patch # User David Barts # Date 1595040985 25200 # Node ID 801cdc780ca866f359142a11e0be438a1989e2bf # Parent 9129ae1101466cbaab1b744afe5510a1de9bb00b Work around ImageIO bug. diff -r 9129ae110146 -r 801cdc780ca8 src/name/blackcap/imageprep/Menus.kt --- a/src/name/blackcap/imageprep/Menus.kt Fri Jul 17 17:58:55 2020 -0700 +++ b/src/name/blackcap/imageprep/Menus.kt Fri Jul 17 19:56:25 2020 -0700 @@ -97,9 +97,15 @@ w.dispose() } + /* xxx - ImageIO bug? */ + private class NullOutputStream : java.io.OutputStream() { + override fun write(b: Int): Unit {} + } + private fun doClose() { val w = FocusManager.getCurrentManager().activeWindow as? RotateDialog if (w == null) { + LOGGER.log(Level.INFO, "beep!") Toolkit.getDefaultToolkit().beep() return } @@ -125,7 +131,21 @@ swingWorker { inBackground { try { - val ios = ImageIO.createImageOutputStream(file) + /* xxx - ImageIO bug? */ + val devNull = java.io.PrintStream(NullOutputStream()) + val oldOut = System.out + System.setOut(devNull) + val oldErr = System.err + System.setErr(devNull) + val ios = try { + ImageIO.createImageOutputStream(file) + } finally { + System.setErr(oldErr) + System.setOut(oldOut) + } + if (ios == null) + throw IOException() + /* xxx - end workaround */ val writer = ImageIO.getImageWritersByFormatName("jpeg").next() val iwp = writer.getDefaultWriteParam().apply { setCompressionMode(ImageWriteParam.MODE_EXPLICIT)