From 8af2df6bfd5e07f4147512c39a9b428e931b376f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Anian=20B=C3=BChler?=
 <anian.buehler@reutlingen-university.de>
Date: Mon, 24 Jan 2022 14:52:14 +0100
Subject: [PATCH] stopped sim and gui threads on exit

---
 .../letsgoing/ardublock/simulator/Simulator.java    | 13 ++++++++++++-
 src/tec/letsgoing/ardublock/simulator/view/GUI.java |  6 +-----
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/tec/letsgoing/ardublock/simulator/Simulator.java b/src/tec/letsgoing/ardublock/simulator/Simulator.java
index 5e57004..be7715b 100644
--- a/src/tec/letsgoing/ardublock/simulator/Simulator.java
+++ b/src/tec/letsgoing/ardublock/simulator/Simulator.java
@@ -6,6 +6,8 @@ package tec.letsgoing.ardublock.simulator;
 import java.awt.Point;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 import java.util.Vector;
 
 import javax.swing.UIManager;
@@ -103,6 +105,15 @@ public class Simulator implements Runnable, ActionListener{
 
 		guiThread = new Thread(gui);
 		guiThread.start();
+		
+		//override close operation
+		//TODO: TEST
+		gui.addWindowListener(new WindowAdapter() {
+			public void windowClosing(WindowEvent we) {
+				instance.stopSimu();
+				gui.stopThread();
+			}			  
+		});
 
 		return true;
 	}
@@ -151,7 +162,7 @@ public class Simulator implements Runnable, ActionListener{
 		arduino.setStop(true);
 		if (simuThread instanceof Thread) {
 			simuThread.interrupt();
-
+			
 		}
 		arduino.getPin(20).setValue(0);
 
diff --git a/src/tec/letsgoing/ardublock/simulator/view/GUI.java b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
index 8d795b0..292ad35 100644
--- a/src/tec/letsgoing/ardublock/simulator/view/GUI.java
+++ b/src/tec/letsgoing/ardublock/simulator/view/GUI.java
@@ -433,11 +433,7 @@ public class GUI extends JFrame implements Runnable, ActionListener {
 
 				// e.printStackTrace();
 			}
-			
-			
-				super.repaint();
-			
-				
+			super.repaint();
 		}
 	}
 
-- 
GitLab