diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-05-01 13:09:57 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-05-01 13:09:57 +0200 |
commit | 187147aedd588070d0676664d5076d046644094e (patch) | |
tree | b21c5724db3fa7d1b958ccbe13e3b4cc3b0f2736 | |
parent | 3266c85a44a637862b0ed6e531680c6ab2897ab5 (diff) | |
download | vim-git-187147aedd588070d0676664d5076d046644094e.tar.gz |
patch 7.4.1812v7.4.1812
Problem: Failure on startup with Athena and Motif.
Solution: Check for INVALCOLOR. (Kazunobu Kuriyama)
-rw-r--r-- | src/syntax.c | 4 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim.h | 10 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/syntax.c b/src/syntax.c index 4e35a6c59..e68090db6 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -9261,8 +9261,8 @@ set_hl_attr( at_en.ae_u.cterm.fg_color = sgp->sg_cterm_fg; at_en.ae_u.cterm.bg_color = sgp->sg_cterm_bg; # ifdef FEAT_TERMGUICOLORS - at_en.ae_u.cterm.fg_rgb = GUI_MCH_GET_RGB(sgp->sg_gui_fg); - at_en.ae_u.cterm.bg_rgb = GUI_MCH_GET_RGB(sgp->sg_gui_bg); + at_en.ae_u.cterm.fg_rgb = GUI_MCH_GET_RGB2(sgp->sg_gui_fg); + at_en.ae_u.cterm.bg_rgb = GUI_MCH_GET_RGB2(sgp->sg_gui_bg); # endif sgp->sg_cterm_attr = get_attr_entry(&cterm_attr_table, &at_en); } diff --git a/src/version.c b/src/version.c index 714a6d92b..75e692d5d 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1812, +/**/ 1811, /**/ 1810, @@ -1561,14 +1561,23 @@ typedef UINT32_TYPEDEF UINT32_T; #ifdef FEAT_GUI # ifdef FEAT_TERMGUICOLORS # define GUI_FUNCTION(f) (gui.in_use ? gui_##f : termgui_##f) +# define GUI_FUNCTION2(f, pixel) (gui.in_use \ + ? ((pixel) != INVALCOLOR \ + ? gui_##f((pixel)) \ + : (long_u)INVALCOLOR) \ + : termgui_##f((pixel))) # define USE_24BIT (gui.in_use || p_tgc) # else # define GUI_FUNCTION(f) gui_##f +# define GUI_FUNCTION2(f,pixel) ((pixel) != INVALCOLOR \ + ? gui_##f((pixel)) \ + : (long_u)INVALCOLOR) # define USE_24BIT gui.in_use # endif #else # ifdef FEAT_TERMGUICOLORS # define GUI_FUNCTION(f) termgui_##f +# define GUI_FUNCTION2(f, pixel) termgui_##f((pixel)) # define USE_24BIT p_tgc # endif #endif @@ -1579,6 +1588,7 @@ typedef UINT32_TYPEDEF UINT32_T; #endif #ifdef GUI_FUNCTION # define GUI_MCH_GET_RGB GUI_FUNCTION(mch_get_rgb) +# define GUI_MCH_GET_RGB2(pixel) GUI_FUNCTION2(mch_get_rgb, (pixel)) # define GUI_MCH_GET_COLOR GUI_FUNCTION(mch_get_color) # define GUI_GET_COLOR GUI_FUNCTION(get_color) #endif |