diff options
-rw-r--r-- | altosui/AltosSerial.java | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/altosui/AltosSerial.java b/altosui/AltosSerial.java index 88b38bb1..57e13448 100644 --- a/altosui/AltosSerial.java +++ b/altosui/AltosSerial.java @@ -137,7 +137,6 @@ public class AltosSerial implements Runnable { boolean timeout_started = false; private void stop_timeout_dialog() { - System.out.printf("stop_timeout_dialog\n"); Runnable r = new Runnable() { public void run() { if (timeout_dialog != null) @@ -148,7 +147,6 @@ public class AltosSerial implements Runnable { } private void start_timeout_dialog_internal() { - System.out.printf("Creating timeout dialog\n"); Object[] options = { "Cancel" }; JOptionPane pane = new JOptionPane(); @@ -170,10 +168,7 @@ public class AltosSerial implements Runnable { private boolean check_timeout() { if (!timeout_started && frame != null) { timeout_started = true; - System.out.printf("Starting timeout dialog\n"); - if (SwingUtilities.isEventDispatchThread()) { - start_timeout_dialog_internal(); - } else { + if (!SwingUtilities.isEventDispatchThread()) { Runnable r = new Runnable() { public void run() { start_timeout_dialog_internal(); @@ -208,16 +203,22 @@ public class AltosSerial implements Runnable { } public String get_reply() throws InterruptedException { + if (SwingUtilities.isEventDispatchThread()) + System.out.printf("Uh-oh, reading serial device from swing thread\n"); flush_output(); AltosLine line = reply_queue.take(); return line.line; } public String get_reply(int timeout) throws InterruptedException { + boolean can_cancel = true; + if (SwingUtilities.isEventDispatchThread()) { + can_cancel = false; + System.out.printf("Uh-oh, reading serial device from swing thread\n"); + } flush_output(); - if (remote) { + if (remote && can_cancel) { timeout = 300; - System.out.printf("Doing remote timout\n"); } abort = false; timeout_started = false; @@ -227,7 +228,7 @@ public class AltosSerial implements Runnable { stop_timeout_dialog(); return line.line; } - if (!remote || check_timeout()) + if (!remote || !can_cancel || check_timeout()) return null; } } @@ -362,7 +363,6 @@ public class AltosSerial implements Runnable { try { flush_input(); } finally { - System.out.printf("Sending tilde\n"); printf ("~\n"); flush_output(); } |