commit - 5cf41407571eb39d7eab8d60d87bbec164d9eb82
commit + cfdc726513c95b22b71d9907fc23ae0f7fb77ece
blob - 193ad59a31fc43cb31fde0e2eedc82391cfa8fdd
blob + cf5bbc514b1a5fd0cea4d0559b1a80e15ea20f6d
--- de/mud/terminal/vt320.java
+++ de/mud/terminal/vt320.java
}
public void setScreenSize(int c, int r, boolean broadcast) {
- System.err.println("setscreensize ("+c+","+r+","+broadcast+")");
- super.setScreenSize(c,r,false);
- if (broadcast) {
- setWindowSize(c, r); /* broadcast up */
- }
+ int oldrows = getRows(), oldcols = getColumns();
+
+ if (debug>2) System.err.println("setscreensize ("+c+","+r+","+broadcast+")");
+
+ super.setScreenSize(c,r,false);
+
+ /* Tricky, since the VDUBuffer works strangely. */
+ if (r > oldrows) {
+ setCursorPosition(C, R + (r-oldrows));
+ redraw();
+ }
+ if (broadcast) {
+ setWindowSize(c, r); /* broadcast up */
+ }
}