diff --git a/sdk/jme3-core/src/com/jme3/gde/core/texture/BufferedImageTextureAtlas.java b/sdk/jme3-core/src/com/jme3/gde/core/texture/BufferedImageTextureAtlas.java index 31ed5aff3..ff7197924 100644 --- a/sdk/jme3-core/src/com/jme3/gde/core/texture/BufferedImageTextureAtlas.java +++ b/sdk/jme3-core/src/com/jme3/gde/core/texture/BufferedImageTextureAtlas.java @@ -83,19 +83,20 @@ public class BufferedImageTextureAtlas { graphics.drawImage(image, null, node.rect.x, node.rect.y); return true; } - - public Rectangle getTextureRectangle(String name){ + + public Rectangle getTextureRectangle(String name) { return rectangleMap.get(name); } public void write(FileObject file) { + BufferedWriter atlas = null; try { ImageIO.write(image, "png", file.getOutputStream()); FileObject atlasFile = file.getParent().getFileObject(file.getName(), "atl"); if (atlasFile == null) { atlasFile = file.getParent().createData(file.getName(), "atl"); } - BufferedWriter atlas = new BufferedWriter(new OutputStreamWriter(atlasFile.getOutputStream())); + atlas = new BufferedWriter(new OutputStreamWriter(atlasFile.getOutputStream())); for (Map.Entry e : rectangleMap.entrySet()) { Rectangle r = e.getValue(); @@ -103,9 +104,16 @@ public class BufferedImageTextureAtlas { atlas.newLine(); } - atlas.close(); } catch (IOException e) { Exceptions.printStackTrace(e); + } finally { + if (atlas != null) { + try { + atlas.close(); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } } }