changeset 10538:c7f671dfd735 v8.0.0159

patch 8.0.0159: crash on startup when updating tabline commit https://github.com/vim/vim/commit/c695cec4698b41d7b9555efdd47dda9b1945d3ae Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jan 8 20:00:04 2017 +0100 patch 8.0.0159: crash on startup when updating tabline Problem: Using a NULL pointer when using feedkeys() to trigger drawing a tabline. Solution: Skip drawing a tabline if TabPageIdxs is NULL. (Dominique Pelle) Also fix recursing into getcmdline() from the cmd window.
author Christian Brabandt <cb@256bit.org>
date Sun, 08 Jan 2017 20:15:03 +0100
parents 53a18ae38edf
children b7add90fec60
files src/ex_getln.c src/screen.c src/version.c
diffstat 3 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -772,7 +772,9 @@ getcmdline(
 		/*
 		 * Open a window to edit the command line (and history).
 		 */
+		save_cmdline(&save_ccline);
 		c = ex_window();
+		restore_cmdline(&save_ccline);
 		some_key_typed = TRUE;
 	    }
 	}
--- a/src/screen.c
+++ b/src/screen.c
@@ -3650,7 +3650,7 @@ win_line(
 		if (fdc > 0)
 		{
 		    /* Draw the 'foldcolumn'.  Allocate a buffer, "extra" may
-		     * already be in used. */
+		     * already be in use. */
 		    p_extra_free = alloc(12 + 1);
 
 		    if (p_extra_free != NULL)
@@ -10344,6 +10344,8 @@ draw_tabline(void)
 #endif
 					    );
 
+    if (ScreenLines == NULL)
+	return;
     redraw_tabline = FALSE;
 
 #ifdef FEAT_GUI_TABLINE
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    159,
+/**/
     158,
 /**/
     157,