diff --git a/terminal-view/src/main/java/com/termux/view/TerminalView.java b/terminal-view/src/main/java/com/termux/view/TerminalView.java index 7fa8d513..d041248f 100644 --- a/terminal-view/src/main/java/com/termux/view/TerminalView.java +++ b/terminal-view/src/main/java/com/termux/view/TerminalView.java @@ -760,6 +760,10 @@ public final class TerminalView extends View { mEmulator = mTermSession.getEmulator(); mClient.onEmulatorSet(); + // Update mTerminalCursorBlinkerRunnable inner class mEmulator on session change + if (mTerminalCursorBlinkerRunnable != null) + mTerminalCursorBlinkerRunnable.setEmulator(mEmulator); + mTopRow = 0; scrollTo(0, 0); invalidate(); @@ -966,7 +970,7 @@ public final class TerminalView extends View { private class TerminalCursorBlinkerRunnable implements Runnable { - private final TerminalEmulator mEmulator; + private TerminalEmulator mEmulator; private final int mBlinkRate; // Initialize with false so that initial blink state is visible after toggling @@ -977,6 +981,10 @@ public final class TerminalView extends View { mBlinkRate = blinkRate; } + public void setEmulator(TerminalEmulator emulator) { + mEmulator = emulator; + } + public void run() { try { if (mEmulator != null) {