summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altosui/AltosSerial.java20
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();
}