summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-06-17 13:52:40 +0200
committerBram Moolenaar <Bram@vim.org>2014-06-17 13:52:40 +0200
commitec1561cac59006213dd5405d164a94dc7d002806 (patch)
tree4484b8f4ea4c5c3368fb98c77296b0b0d4c47407
parent7a54a90744529ab4d3291fa5cdf7656184b8469c (diff)
updated for version 7.4.329v7.4.329
Problem: When moving the cursor and then switching to another window the previous window isn't scrolled. (Yukihiro Nakadaira) Solution: Call update_topline() before leaving the window. (Christian Brabandt)
-rw-r--r--src/version.c2
-rw-r--r--src/window.c5
2 files changed, 7 insertions, 0 deletions
diff --git a/src/version.c b/src/version.c
index f25abaeee7..b60a8213fe 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 329,
+/**/
328,
/**/
327,
diff --git a/src/window.c b/src/window.c
index 4a0ed23c78..5215bb8e51 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4250,6 +4250,11 @@ win_enter_ext(wp, undo_sync, curwin_invalid, trigger_enter_autocmds, trigger_lea
/* sync undo before leaving the current buffer */
if (undo_sync && curbuf != wp->w_buffer)
u_sync(FALSE);
+
+ /* Might need to scroll the old window before switching, e.g., when the
+ * cursor was moved. */
+ update_topline();
+
/* may have to copy the buffer options when 'cpo' contains 'S' */
if (wp->w_buffer != curbuf)
buf_copy_options(wp->w_buffer, BCO_ENTER | BCO_NOHELP);