simon-git: putty (master): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Mon Dec 30 23:33:40 GMT 2019
TL;DR:
22453b46 Fix handling of scroll position when swapping screens.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: master
Committer: Simon Tatham <anakin at pobox.com>
Date: 2019-12-30 23:33:40
commit 22453b46daf2b03f5fe8b2bfac35b818f6c789fe
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=22453b46daf2b03f5fe8b2bfac35b818f6c789fe;hp=5e468129f6f82bd06f3b19fac1885750bb8b0c91
Author: Simon Tatham <anakin at pobox.com>
Date: Mon Dec 30 23:23:42 2019 +0000
Fix handling of scroll position when swapping screens.
If the user is scrolled back in the scrollback when a screen-swap
takes place, and if we're not configured to reset the scrollback
completely on the grounds that the swap is display activity, then we
should do the same thing we do for other kinds of display activity:
strive to keep the scroll position pointing at the same text. In this
case, that means adjusting term->disptop by the number of virtual
lines added to the scrollback to allow the main screen to be viewed
while the alt screen is active.
This improves the quality of behaviour in that corner case, but more
importantly, it should also fix a case of the dreaded line==NULL
assertion failure, which someone just reported against 0.73 when
exiting tmux (hence, switching away from the alt screen) while
scrolled back in a purely virtual scrollback buffer: the virtual
scrollback lines vanished, but disptop was still set to a negative
value, which made it out of range.
terminal.c | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
More information about the tartarus-commits
mailing list