Skip to content

Commit 09d78ad

Browse files
author
jantje
committed
#716 ignore all events after a dispose arrived.
Also clear the buffer during a dispose
1 parent 5abbd0a commit 09d78ad

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

io.sloeber.ui/src/io/sloeber/ui/monitor/internal/SerialListener.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
public class SerialListener implements MessageConsumer {
1717
private static boolean myPlotterFilterFlag = false;
1818
SerialMonitor theMonitor;
19+
boolean isDisposed = false;
1920
int theColorIndex;
2021
private ByteBuffer myReceivedPlotterData = ByteBuffer.allocate(2000);
2122

@@ -127,7 +128,8 @@ private void internalExtractAndRemovePlotterData() {
127128

128129
@Override
129130
public void dispose() {
130-
// No need to dispose something
131+
this.isDisposed = true;
132+
this.myReceivedPlotterData.clear();
131133
}
132134

133135
@Override
@@ -137,7 +139,9 @@ public void event(String event) {
137139
@Override
138140
public void run() {
139141
try {
142+
if (!SerialListener.this.isDisposed) {
140143
SerialListener.this.theMonitor.ReportSerialActivity(tempString, SerialListener.this.theColorIndex);
144+
}
141145
} catch (Exception e) {// ignore as we get errors when closing
142146
// down
143147
}

0 commit comments

Comments
 (0)