Stop processing a burn on motor close
authorBill Kuker <bkuker@billkuker.com>
Thu, 16 Feb 2012 21:20:35 +0000 (21:20 +0000)
committerBill Kuker <bkuker@billkuker.com>
Thu, 16 Feb 2012 21:20:35 +0000 (21:20 +0000)
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java
gui/com/billkuker/rocketry/motorsim/visual/workbench/MotorsEditor.java

index 3df2ceb9a4e2d4de87d55abcca5f5f340ccc9105..c71e2fdbdcc6074d22749fc55161c97164963744 100644 (file)
@@ -77,6 +77,7 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
        SummaryPanel sp;\r
        JTextArea error;\r
        JTabbedPane tabs;\r
+       boolean closed = false;\r
 \r
        private Vector<BurnWatcher> burnWatchers = new Vector<BurnWatcher>();\r
        private DefaultComboBoxModel availableFuels = new DefaultComboBoxModel();\r
@@ -171,6 +172,11 @@ public class MotorEditor extends JPanel implements PropertyChangeListener, FuelR
                                                                        @Override\r
                                                                        public void setProgress(float f) {\r
                                                                                if ( currentThread != me ){\r
+                                                                                       log.info("Cancel burn on change");\r
+                                                                                       throw new BurnCanceled();\r
+                                                                               }\r
+                                                                               if ( closed ){\r
+                                                                                       log.info("Cancel burn on close");\r
                                                                                        throw new BurnCanceled();\r
                                                                                }\r
                                                                        }\r
index 90c6800739640dfde9cae4166978983360140beb..63d8156b97b46f5b3d2f1cca43bd32e12284726b 100644 (file)
@@ -137,6 +137,7 @@ public class MotorsEditor extends MultiObjectEditor<Motor, MotorEditor> {
                mpc.removeBurn(e.burn);\r
                mmt.removeBurn(e.burn);\r
                rst.replace(e.burn, null);\r
+               e.closed = true;\r
        }\r
 \r
        @Override\r