X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fbackend%2FGenericBackend.java;h=ede3c0bff4365743f1d8c38d3c4b130f1cdc01f0;hb=505be508ae7d3fb48122be548b310a238cfb91eb;hp=8d8fb3752243161eed12545ce3ebba9c5cfd4ba2;hpb=abb84744979f74e96ec604357895fc3130aec913;p=nikiroo-utils.git diff --git a/src/jexer/backend/GenericBackend.java b/src/jexer/backend/GenericBackend.java index 8d8fb37..ede3c0b 100644 --- a/src/jexer/backend/GenericBackend.java +++ b/src/jexer/backend/GenericBackend.java @@ -60,6 +60,16 @@ public abstract class GenericBackend implements Backend { */ protected TerminalReader terminal; + /** + * By default, GenericBackend adds a cmAbort after it sees + * cmBackendDisconnect, so that TApplication will exit when the user + * closes the Swing window or disconnects the ECMA48 streams. But + * MultiBackend wraps multiple Backends, and needs to decide when to send + * cmAbort differently. Setting this to false is how it manages that. + * Note package private access. + */ + boolean abortOnDisconnect = true; + // ------------------------------------------------------------------------ // Constructors ----------------------------------------------------------- // ------------------------------------------------------------------------ @@ -113,7 +123,7 @@ public abstract class GenericBackend implements Backend { // This default backend assumes a single user, and if that user // becomes disconnected we should terminate the application. - if (queue.size() > 0) { + if ((queue.size() > 0) && (abortOnDisconnect == true)) { TInputEvent event = queue.get(queue.size() - 1); if (event instanceof TCommandEvent) { TCommandEvent command = (TCommandEvent) event;