From f708ac592f47100a36f2bc12ec98ea6357fdfa27 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 12 Mar 2018 21:48:32 +0100 Subject: [PATCH] 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) --- src/screen.c | 2 +- src/testdir/test_highlight.vim | 14 ++++++++++++++ src/version.c | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/screen.c b/src/screen.c index 5ab2e85fc..77a3c1895 100644 --- 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); diff --git a/src/testdir/test_highlight.vim b/src/testdir/test_highlight.vim index f3d7d0f2a..0c4be7bf3 100644 --- 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 diff --git a/src/version.c b/src/version.c index eabf6fb31..23b016810 100644 --- a/src/version.c +++ b/src/version.c @@ -766,6 +766,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1600, /**/ 1599, /**/ -- 2.50.1