Mercurial > vim
comparison src/screen.c @ 32826:7c4ad06d80ec v9.0.1726
patch 9.0.1726: incorrect heights in win_size_restore()
Commit: https://github.com/vim/vim/commit/876f5fb570d8401aa4c58af4a5da91f10520aa9d
Author: Sean Dewar <seandewar@users.noreply.github.com>
Date: Thu Aug 17 22:40:05 2023 +0200
patch 9.0.1726: incorrect heights in win_size_restore()
Problem: incorrect heights in win_size_restore()
Solution: avoid restoring incorrect heights in win_size_restore()
Changing 'showtabline' or 'cmdheight' in the cmdwin restores incorrect
window heights after closing the cmdwin.
This may produce a gap between the cmdline and the window above.
Solution: restore window sizes only if the number of lines available for windows
changed; subtract the rows of the tabline, cmdline and last window's statusline
from 'lines' (other statuslines don't matter).
closes: #12704
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Sean Dewar <seandewar@users.noreply.github.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 17 Aug 2023 22:45:06 +0200 |
parents | 695b50472e85 |
children | 8665cf0eab86 |
comparison
equal
deleted
inserted
replaced
32825:2c85a7011b2f | 32826:7c4ad06d80ec |
---|---|
4525 #define COL_RULER 17 // columns needed by standard ruler | 4525 #define COL_RULER 17 // columns needed by standard ruler |
4526 | 4526 |
4527 void | 4527 void |
4528 comp_col(void) | 4528 comp_col(void) |
4529 { | 4529 { |
4530 int last_has_status = (p_ls == 2 || (p_ls == 1 && !ONE_WINDOW)); | 4530 int last_has_status = last_stl_height(FALSE) > 0; |
4531 | 4531 |
4532 sc_col = 0; | 4532 sc_col = 0; |
4533 ru_col = 0; | 4533 ru_col = 0; |
4534 if (p_ru) | 4534 if (p_ru) |
4535 { | 4535 { |