changeset 13452:9b09f6e470e0 v8.0.1600

patch 8.0.1600: crash when setting t_Co to zero when 'termguicolors' is set commit https://github.com/vim/vim/commit/f708ac592f47100a36f2bc12ec98ea6357fdfa27 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Mar 12 21:48:32 2018 +0100 patch 8.0.1600: crash when setting t_Co to zero when 'termguicolors' is set Problem: Crash when setting t_Co to zero when 'termguicolors' is set. Solution: Use IS_CTERM instead of checking the number of colors. (closes #2710)
author Christian Brabandt <cb@256bit.org>
date Mon, 12 Mar 2018 22:00:06 +0100
parents be0536e2f27f
children 5dab288bada8
files src/screen.c src/testdir/test_highlight.vim src/version.c
diffstat 3 files changed, 17 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -8127,7 +8127,7 @@ screen_start_highlight(int attr)
 			term_bg_color(aep->ae_u.cterm.bg_color - 1);
 		}
 
-		if (t_colors <= 1)
+		if (!IS_CTERM)
 		{
 		    if (aep->ae_u.term.start != NULL)
 			out_str(aep->ae_u.term.start);
--- a/src/testdir/test_highlight.vim
+++ b/src/testdir/test_highlight.vim
@@ -514,3 +514,17 @@ func Test_highlight_eol_on_diff()
   bwipe!
   diffoff
 endfunc
+
+func Test_termguicolors()
+  if !exists('+termguicolors')
+    return
+  endif
+
+  " Basic test that setting 'termguicolors' works with one color.
+  set termguicolors
+  redraw
+  set t_Co=1
+  redraw
+  set t_Co=0
+  redraw
+endfunc
--- a/src/version.c
+++ b/src/version.c
@@ -767,6 +767,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1600,
+/**/
     1599,
 /**/
     1598,