[vassalengine-svn] SF.net SVN: vassalengine:[8311] VASSAL-src/trunk
Brought to you by:
rodneykinney,
uckelman
From: <uck...@us...> - 2012-08-29 21:35:25
|
Revision: 8311 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=8311&view=rev Author: uckelman Date: 2012-08-29 21:35:19 +0000 (Wed, 29 Aug 2012) Log Message: ----------- Merged 3.1@8309. Fixed Bug 2554: NumberFormatException in SVGImageUtils.getImageSize() Handle bad SVG width or height as an IOException. Modified Paths: -------------- VASSAL-src/trunk/src/VASSAL/tools/image/svg/SVGImageUtils.java Property Changed: ---------------- VASSAL-src/trunk/ Property changes on: VASSAL-src/trunk ___________________________________________________________________ Modified: svn:mergeinfo - /VASSAL-src/branches/3.1:7756,7764,7810,7812-7813,7872,7876,7879,7909,7913,7964,7966,7968,7998,8097,8111-8112,8159-8162,8172,8181-8182,8233,8235-8238,8241,8244,8246,8260-8261 /VASSAL-src/branches/Brent-3.2:8206,8216-8217,8219-8220,8222,8225,8227,8248,8252 /VASSAL-src/branches/Brent-3.2-New:8263,8267,8269-8272,8279-8283,8289,8295-8296,8305 /VASSAL-src/branches/brent-3.2:7824-7825,7862-7865,7875,7878,7882,7884,7886,7896,7903,7911,7917,7929,7942,7988,7995 /VASSAL-src/branches/george973-bugs:7800,7806,7962-7963 /VASSAL-src/branches/george973-bugs-3.2:8081 /VASSAL-src/branches/george973-ocs:8167-8169 /VASSAL-src/branches/lance-3.2 8085:8127 /VASSAL-src/branches/lancel-3.1:7680 /VASSAL-src/branches/pgeerkens-3.2:7836-7837,7839,7841-7842,7849,7893,7899,7902,7904,7906,7922,7930 /VASSAL-src/branches/uckelman-integration:7971-8007 /VASSAL-src/branches/uckelman-working2:7194-7700 /VASSAL-src/branches/viewport-3.2:7992 + /VASSAL-src/branches/3.1:7756,7764,7810,7812-7813,7872,7876,7879,7909,7913,7964,7966,7968,7998,8097,8111-8112,8159-8162,8172,8181-8182,8233,8235-8238,8241,8244,8246,8260-8261,8309 /VASSAL-src/branches/Brent-3.2:8206,8216-8217,8219-8220,8222,8225,8227,8248,8252 /VASSAL-src/branches/Brent-3.2-New:8263,8267,8269-8272,8279-8283,8289,8295-8296,8305 /VASSAL-src/branches/brent-3.2:7824-7825,7862-7865,7875,7878,7882,7884,7886,7896,7903,7911,7917,7929,7942,7988,7995 /VASSAL-src/branches/george973-bugs:7800,7806,7962-7963 /VASSAL-src/branches/george973-bugs-3.2:8081 /VASSAL-src/branches/george973-ocs:8167-8169 /VASSAL-src/branches/lance-3.2 8085:8127 /VASSAL-src/branches/lancel-3.1:7680 /VASSAL-src/branches/pgeerkens-3.2:7836-7837,7839,7841-7842,7849,7893,7899,7902,7904,7906,7922,7930 /VASSAL-src/branches/uckelman-integration:7971-8007 /VASSAL-src/branches/uckelman-working2:7194-7700 /VASSAL-src/branches/viewport-3.2:7992 Modified: VASSAL-src/trunk/src/VASSAL/tools/image/svg/SVGImageUtils.java =================================================================== --- VASSAL-src/trunk/src/VASSAL/tools/image/svg/SVGImageUtils.java 2012-08-29 21:31:55 UTC (rev 8310) +++ VASSAL-src/trunk/src/VASSAL/tools/image/svg/SVGImageUtils.java 2012-08-29 21:35:19 UTC (rev 8311) @@ -66,24 +66,7 @@ * @throws IOException if the image cannot be read */ public static Dimension getImageSize(InputStream in) throws IOException { - // get the SVG - final Document doc; - try { - doc = factory.createDocument(null, in); - in.close(); - } - finally { - IOUtils.closeQuietly(in); - } - - // get the default image width and height - final Element root = doc.getDocumentElement(); - final int width = (int) (Float.parseFloat( - root.getAttributeNS(null, "width").replaceFirst("px", ""))+0.5); - final int height = (int) (Float.parseFloat( - root.getAttributeNS(null, "height").replaceFirst("px", ""))+0.5); - - return new Dimension(width, height); + return getImageSize("", in); } /** @@ -112,12 +95,17 @@ // get the default image width and height final Element root = doc.getDocumentElement(); - final int width = (int) (Float.parseFloat( - root.getAttributeNS(null, "width").replaceFirst("px", ""))+0.5); - final int height = (int) (Float.parseFloat( - root.getAttributeNS(null, "height").replaceFirst("px", ""))+0.5); + try { + final int width = (int) (Float.parseFloat( + root.getAttributeNS(null, "width").replaceFirst("px", ""))+0.5); + final int height = (int) (Float.parseFloat( + root.getAttributeNS(null, "height").replaceFirst("px", ""))+0.5); - return new Dimension(width, height); + return new Dimension(width, height); + } + catch (NumberFormatException e) { + throw new ImageIOException(name, e); + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |