diff options
author | Kenny Root <kenny@the-b.org> | 2015-10-05 10:52:29 -0700 |
---|---|---|
committer | Kenny Root <kenny@the-b.org> | 2015-10-05 10:52:29 -0700 |
commit | 14318dab67d7c013b1a88861367eecb423010e70 (patch) | |
tree | 12241a5acece2419e8570a9bd27d55627c87fdf6 /app/src/main/java/de/mud/terminal/vt320.java | |
parent | 4c0ca79b464af40b5a41e39bcd3d7968abde5c9a (diff) | |
parent | a157202db2d7e28aab124eb4d6966bdbe668d75f (diff) | |
download | connectbot-14318dab67d7c013b1a88861367eecb423010e70.tar.gz connectbot-14318dab67d7c013b1a88861367eecb423010e70.tar.bz2 connectbot-14318dab67d7c013b1a88861367eecb423010e70.zip |
Merge pull request #274 from jklein24/cursorjump
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.java | 20 |
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 */ |