aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/de/mud/terminal/vt320.java
diff options
context:
space:
mode:
authorJeremy Klein <jklein24@gmail.com>2015-10-02 17:34:22 -0700
committerJeremy Klein <jlklein@google.com>2015-10-05 10:40:10 -0700
commita157202db2d7e28aab124eb4d6966bdbe668d75f (patch)
tree12241a5acece2419e8570a9bd27d55627c87fdf6 /app/src/main/java/de/mud/terminal/vt320.java
parent4c0ca79b464af40b5a41e39bcd3d7968abde5c9a (diff)
downloadconnectbot-a157202db2d7e28aab124eb4d6966bdbe668d75f.tar.gz
connectbot-a157202db2d7e28aab124eb4d6966bdbe668d75f.tar.bz2
connectbot-a157202db2d7e28aab124eb4d6966bdbe668d75f.zip
Fix bad math in moving the cursor when the window size changes.
Diffstat (limited to 'app/src/main/java/de/mud/terminal/vt320.java')
-rw-r--r--app/src/main/java/de/mud/terminal/vt320.java20
1 files changed, 5 insertions, 15 deletions
diff --git a/app/src/main/java/de/mud/terminal/vt320.java b/app/src/main/java/de/mud/terminal/vt320.java
index ab4a90d..dc95bea 100644
--- a/app/src/main/java/de/mud/terminal/vt320.java
+++ b/app/src/main/java/de/mud/terminal/vt320.java
@@ -162,23 +162,13 @@ public void setScreenSize(int c, int r, boolean broadcast) {
super.setScreenSize(c,r,false);
- boolean cursorChanged = false;
-
- // Don't let the cursor go off the screen.
- if (C >= c) {
- C = c - 1;
- cursorChanged = true;
- }
-
+ // Don't let the cursor go off the screen. Scroll down if needed.
if (R >= r) {
- R = r - 1;
- cursorChanged = true;
- }
-
- if (cursorChanged) {
- setCursorPosition(C, R);
- redraw();
+ screenBase += R - (r - 1);
+ setWindowBase(screenBase);
}
+ R = getCursorRow();
+ C = getCursorColumn();
if (broadcast) {
setWindowSize(c, r); /* broadcast up */