altosui: allow flashing to be canceled from the rom config dialog
authorKeith Packard <keithp@keithp.com>
Thu, 2 Sep 2010 05:46:04 +0000 (22:46 -0700)
committerKeith Packard <keithp@keithp.com>
Fri, 3 Sep 2010 14:04:28 +0000 (07:04 -0700)
Was using the rom config class wrong, causing cancel actions to work
just like 'ok' actions. Oops.

Signed-off-by: Keith Packard <keithp@keithp.com>
ao-tools/altosui/AltosFlashUI.java

index 73a97a6b9177d29c073153bd32a4d37333a88607..18795695640e2630218259602f999002a550213b 100644 (file)
@@ -75,17 +75,17 @@ public class AltosFlashUI
                        AltosRomconfigUI romconfig_ui = new AltosRomconfigUI (frame);
 
                        romconfig_ui.set(flash.romconfig());
-                       romconfig_ui.showDialog();
-
-                       AltosRomconfig romconfig = romconfig_ui.romconfig();
-                       if (romconfig == null || !romconfig.valid())
-                               return;
-                       flash.set_romconfig(romconfig);
-                       serial_value.setText(String.format("%d",
-                                                          flash.romconfig().serial_number));
-                       file_value.setText(file.toString());
-                       setVisible(true);
-                       flash.flash();
+                       AltosRomconfig romconfig = romconfig_ui.showDialog();
+
+                       if (romconfig != null && romconfig.valid()) {
+                               flash.set_romconfig(romconfig);
+                               serial_value.setText(String.format("%d",
+                                                                  flash.romconfig().serial_number));
+                               file_value.setText(file.toString());
+                               setVisible(true);
+                               flash.flash();
+                               flash = null;
+                       }
                } catch (FileNotFoundException ee) {
                        JOptionPane.showMessageDialog(frame,
                                                      "Cannot open image",
@@ -97,6 +97,8 @@ public class AltosFlashUI
                                                      file.toString(),
                                                      JOptionPane.ERROR_MESSAGE);
                } catch (InterruptedException ie) {
+               } finally {
+                       abort();
                }
                dispose();
        }