aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
diff options
context:
space:
mode:
authorWill Stamper <epmatsw@gmail.com>2014-06-13 18:09:25 -0500
committerJustin M. Keyes <justinkz@gmail.com>2014-07-31 15:12:14 -0400
commitdafd72f5b290cd3da43cb96f96f3d9a26983f097 (patch)
tree0ea3e3f2ad2aba30d5f02202e6893844ad1494e0 /src/nvim/window.c
parent280d0ea5d36576e2fbd1bb18cc368b3f6ed5a9bc (diff)
downloadrneovim-dafd72f5b290cd3da43cb96f96f3d9a26983f097.tar.gz
rneovim-dafd72f5b290cd3da43cb96f96f3d9a26983f097.tar.bz2
rneovim-dafd72f5b290cd3da43cb96f96f3d9a26983f097.zip
vim-patch:7.4.309 #843
Problem: When increasing the size of the lower window, the upper window jumps back to the top. (Ron Aaron) Solution: Change setting the topline. (Nobuhiro Takasaki) https://code.google.com/p/vim/source/detail?r=88a6e9f33822d33b6c32db578750c6c178c63f50
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r--src/nvim/window.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c
index ec56e331ce..98daa7eca2 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -4540,7 +4540,8 @@ void win_new_height(win_T *wp, int height)
--wp->w_wrow;
}
}
- } else {
+ set_topline(wp, lnum);
+ } else if (sline > 0) {
while (sline > 0 && lnum > 1) {
hasFoldingWin(wp, lnum, &lnum, NULL, TRUE, NULL);
if (lnum == 1) {
@@ -4566,13 +4567,13 @@ void win_new_height(win_T *wp, int height)
hasFoldingWin(wp, lnum, NULL, &lnum, TRUE, NULL);
lnum++;
wp->w_wrow -= line_size + sline;
- } else if (sline >= 0) {
+ } else if (sline > 0) {
/* First line of file reached, use that as topline. */
lnum = 1;
wp->w_wrow -= sline;
}
+ set_topline(wp, lnum);
}
- set_topline(wp, lnum);
}
if (wp == curwin) {