summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ao-tools/altosui/AltosUI.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/ao-tools/altosui/AltosUI.java b/ao-tools/altosui/AltosUI.java
index e3f61303..e63a004c 100644
--- a/ao-tools/altosui/AltosUI.java
+++ b/ao-tools/altosui/AltosUI.java
@@ -441,6 +441,7 @@ public class AltosUI extends JFrame {
if (device != null) {
try {
+ stop_display();
serial_line.open(device);
DeviceThread thread = new DeviceThread(serial_line);
serial_line.set_channel(AltosPreferences.channel());
@@ -536,8 +537,12 @@ public class AltosUI extends JFrame {
Thread display_thread;
private void stop_display() {
- if (display_thread != null && display_thread.isAlive())
+ if (display_thread != null && display_thread.isAlive()) {
display_thread.interrupt();
+ try {
+ display_thread.join();
+ } catch (InterruptedException ie) {}
+ }
display_thread = null;
}