From 24d249c4f18c1bcd6557f547619c7d453cf4763f Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Tue, 23 Nov 2010 14:49:55 +0000 Subject: [PATCH] Fix error when attempting actions on "extra" tabs --- .../motorsim/visual/MultiObjectEditor.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java b/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java index 748d585..b9740b4 100644 --- a/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java +++ b/gui/com/billkuker/rocketry/motorsim/visual/MultiObjectEditor.java @@ -91,18 +91,19 @@ public abstract class MultiObjectEditor extend private void menuNew(ObjectCreator c){ add(c.newObject()); } - + @SuppressWarnings("unchecked") - public EDITOR getSelectedEditor(){ - try { - return (EDITOR)super.getSelectedComponent(); - } catch ( ClassCastException e ){ - return null; - } + public EDITOR getSelectedEditor() { + EDITOR e = (EDITOR) super.getSelectedComponent(); + if (editorToObject.containsKey(e)) + return e; + return null; } - + private void close(){ EDITOR e = getSelectedEditor(); + if ( e == null ) + return; OBJECT o = editorToObject.get(e); File f = editorToFile.get(e); @@ -125,6 +126,8 @@ public abstract class MultiObjectEditor extend private void saveDialog(){ EDITOR e = getSelectedEditor(); + if ( e == null ) + return; if ( !editorToFile.containsKey(e) ){ log.debug("Editor has no file, saving as..."); saveAsDialog(); @@ -141,6 +144,8 @@ public abstract class MultiObjectEditor extend } private void saveAsDialog(){ EDITOR e = getSelectedEditor(); + if ( e == null ) + return; final FileDialog fd = new FileDialog(frame, "Save" + noun + " As", FileDialog.SAVE); fd.setVisible(true); if (fd.getFile() != null ) { -- 2.47.2