git://git.nikiroo.be
/
fanfix.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix javadoc
[fanfix.git]
/
src
/
jexer
/
backend
/
ECMA48Terminal.java
diff --git
a/src/jexer/backend/ECMA48Terminal.java
b/src/jexer/backend/ECMA48Terminal.java
index 92758ee6a65e096072af59d53c5bca973f8469c0..6085554904320675139608a67329e0bbe33428fe 100644
(file)
--- a/
src/jexer/backend/ECMA48Terminal.java
+++ b/
src/jexer/backend/ECMA48Terminal.java
@@
-44,16
+44,17
@@
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
-import java.util.LinkedList;
import jexer.TImage;
import jexer.bits.Cell;
import jexer.bits.CellAttributes;
import jexer.bits.Color;
import jexer.TImage;
import jexer.bits.Cell;
import jexer.bits.CellAttributes;
import jexer.bits.Color;
+import jexer.event.TCommandEvent;
import jexer.event.TInputEvent;
import jexer.event.TKeypressEvent;
import jexer.event.TMouseEvent;
import jexer.event.TResizeEvent;
import jexer.event.TInputEvent;
import jexer.event.TKeypressEvent;
import jexer.event.TMouseEvent;
import jexer.event.TResizeEvent;
+import static jexer.TCommand.*;
import static jexer.TKeypress.*;
/**
import static jexer.TKeypress.*;
/**
@@
-1107,7
+1108,7
@@
public class ECMA48Terminal extends LogicalScreen
reloadOptions();
// Spin up the input reader
reloadOptions();
// Spin up the input reader
- eventQueue = new
Linked
List<TInputEvent>();
+ eventQueue = new
Array
List<TInputEvent>();
readerThread = new Thread(this);
readerThread.start();
readerThread = new Thread(this);
readerThread.start();
@@
-1193,7
+1194,7
@@
public class ECMA48Terminal extends LogicalScreen
reloadOptions();
// Spin up the input reader
reloadOptions();
// Spin up the input reader
- eventQueue = new
Linked
List<TInputEvent>();
+ eventQueue = new
Array
List<TInputEvent>();
readerThread = new Thread(this);
readerThread.start();
readerThread = new Thread(this);
readerThread.start();
@@
-1390,7
+1391,7
@@
public class ECMA48Terminal extends LogicalScreen
// available() will often return > 1, so we need to read in chunks to
// stay caught up.
char [] readBuffer = new char[128];
// available() will often return > 1, so we need to read in chunks to
// stay caught up.
char [] readBuffer = new char[128];
- List<TInputEvent> events = new
Linked
List<TInputEvent>();
+ List<TInputEvent> events = new
Array
List<TInputEvent>();
while (!done && !stopReaderThread) {
try {
while (!done && !stopReaderThread) {
try {
@@
-1472,10
+1473,17
@@
public class ECMA48Terminal extends LogicalScreen
}
} // while ((done == false) && (stopReaderThread == false))
}
} // while ((done == false) && (stopReaderThread == false))
- // TODO: pass an event up to TApplication to tell it this Backend is
- // done.
+ // Pass an event up to TApplication to tell it this Backend is done.
+ synchronized (eventQueue) {
+ eventQueue.add(new TCommandEvent(cmBackendDisconnect));
+ }
+ if (listener != null) {
+ synchronized (listener) {
+ listener.notifyAll();
+ }
+ }
- System.err.println("*** run() exiting..."); System.err.flush();
+
//
System.err.println("*** run() exiting..."); System.err.flush();
}
// ------------------------------------------------------------------------
}
// ------------------------------------------------------------------------