From e9614a683a52db7b72f5d9d4681f9af5b00ba99e Mon Sep 17 00:00:00 2001 From: "nor..67" Date: Mon, 23 Jan 2012 23:34:19 +0000 Subject: [PATCH] SDK: - fix niftygui editor locking file when loading fails git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@9110 75d07b2b-3a1a-0410-a2c5-0572b91ccdca --- .../jme3/gde/gui/multiview/NiftyPreviewPanel.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/sdk/jme3-gui/src/com/jme3/gde/gui/multiview/NiftyPreviewPanel.java b/sdk/jme3-gui/src/com/jme3/gde/gui/multiview/NiftyPreviewPanel.java index f9a0b515c..6f679798f 100644 --- a/sdk/jme3-gui/src/com/jme3/gde/gui/multiview/NiftyPreviewPanel.java +++ b/sdk/jme3-gui/src/com/jme3/gde/gui/multiview/NiftyPreviewPanel.java @@ -19,6 +19,8 @@ import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.MouseMotionListener; +import java.io.IOException; +import java.io.InputStream; import java.util.Collection; import java.util.Iterator; import java.util.concurrent.Callable; @@ -124,8 +126,10 @@ public class NiftyPreviewPanel extends PanelView { if (pm == null) { Logger.getLogger(NiftyPreviewPanel.class.getName()).log(Level.WARNING, "No Project AssetManager found!"); } + InputStream in = null; try { - doc = XMLUtil.parse(new InputSource(niftyObject.getPrimaryFile().getInputStream()), false, false, null, null); + in = niftyObject.getPrimaryFile().getInputStream(); + doc = XMLUtil.parse(new InputSource(in), false, false, null, null); NiftyFileNode rootContext = new NiftyFileNode(doc.getDocumentElement()); setRoot(rootContext); comp.setRootContext(rootContext); @@ -136,6 +140,14 @@ public class NiftyPreviewPanel extends PanelView { DialogDisplayer.getDefault().notifyLater(msg); Exceptions.printStackTrace(ex); return; + } finally { + if (in != null) { + try { + in.close(); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + } } SceneApplication.getApplication().enqueue(new Callable() {