Mercurial > vim
diff src/terminal.c @ 14311:83b870d9ac4b v8.1.0171
patch 8.1.0171: typing CTRL-W n in a terminal window causes ml_get error
commit https://github.com/vim/vim/commit/875cf8789426cc258d85358ea2c86744a5a87b16
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jul 8 20:49:07 2018 +0200
patch 8.1.0171: typing CTRL-W n in a terminal window causes ml_get error
Problem: Typing CTRL-W n in a terminal window causes ml_get error.
Solution: When resizing the terminal outside of terminal_loop() make sure
the snapshot is complete.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 08 Jul 2018 21:00:07 +0200 |
parents | 3c80092eb211 |
children | 5faab0545f3c |
line wrap: on
line diff
--- a/src/terminal.c +++ b/src/terminal.c @@ -3134,13 +3134,16 @@ term_update_window(win_T *wp) if (term->tl_rows != newrows || term->tl_cols != newcols) { - - term->tl_vterm_size_changed = TRUE; vterm_set_size(vterm, newrows, newcols); ch_log(term->tl_job->jv_channel, "Resizing terminal to %d lines", newrows); term_report_winsize(term, newrows, newcols); + + // Updating the terminal size will cause the snapshot to be cleared. + // When not in terminal_loop() we need to restore it. + if (term != in_terminal_loop) + may_move_terminal_to_buffer(term, FALSE); } /* The cursor may have been moved when resizing. */