diff options
Diffstat (limited to 'app/src/main/java/org/connectbot/service/TerminalBridge.java')
-rw-r--r-- | app/src/main/java/org/connectbot/service/TerminalBridge.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/app/src/main/java/org/connectbot/service/TerminalBridge.java b/app/src/main/java/org/connectbot/service/TerminalBridge.java index 6333c17..f7be0ae 100644 --- a/app/src/main/java/org/connectbot/service/TerminalBridge.java +++ b/app/src/main/java/org/connectbot/service/TerminalBridge.java @@ -456,8 +456,19 @@ public class TerminalBridge implements VDUDisplay { awaitingClose = true; // Tell the TerminalManager that we can be destroyed now. - if (disconnectListener != null) - disconnectListener.onDisconnected(TerminalBridge.this); + if (disconnectListener != null) { + // The disconnect listener should be run on the main thread if possible. + if (parent != null) { + parent.post(new Runnable() { + @Override + public void run() { + disconnectListener.onDisconnected(TerminalBridge.this); + } + }); + } else { + disconnectListener.onDisconnected(TerminalBridge.this); + } + } } } }); |