aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/tui
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-07-26 20:36:24 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2018-08-13 13:35:35 +0200
commitfab555e59c627b07e8a2d229d95737be7d6ce666 (patch)
treece5c238eb8d8b328a8d71fc61b9908024dad5a2e /src/nvim/tui
parentee5cc88a73401e4352660862631117c8319950f7 (diff)
downloadrneovim-fab555e59c627b07e8a2d229d95737be7d6ce666.tar.gz
rneovim-fab555e59c627b07e8a2d229d95737be7d6ce666.tar.bz2
rneovim-fab555e59c627b07e8a2d229d95737be7d6ce666.zip
highlight: HlAttrs is a value type; treat it like such
Diffstat (limited to 'src/nvim/tui')
-rw-r--r--src/nvim/tui/tui.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c
index 508d25cd3b..c010f2e1a2 100644
--- a/src/nvim/tui/tui.c
+++ b/src/nvim/tui/tui.c
@@ -943,10 +943,11 @@ static void tui_set_mode(UI *ui, ModeShape mode)
cursorentry_T c = data->cursor_shapes[mode];
if (c.id != 0 && ui->rgb) {
+ // TODO(bfredl): NOT threadsafe, include attr in cursor_shape already.
int attr = syn_id2attr(c.id);
- if (attr > 0) {
- HlAttrs *aep = syn_attr2entry(attr);
- UNIBI_SET_NUM_VAR(data->params[0], aep->rgb_bg_color);
+ if (attr > 0 && attr < (int)kv_size(data->attrs)) {
+ int color = kv_A(data->attrs, attr).rgb_bg_color;
+ UNIBI_SET_NUM_VAR(data->params[0], color);
unibi_out_ext(ui, data->unibi_ext.set_cursor_color);
}
}