aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-07-26 20:34:13 +0200
committerBjörn Linse <bjorn.linse@gmail.com>2018-07-27 17:11:01 +0200
commit9a584773b5a19155d11f645d3a8af107e98b2e00 (patch)
tree286ebe2b95f3785dae727644630f00febbfa39d6 /src
parent5f15788dc3ac1ea7906673eacc9cf9bdb1f14212 (diff)
downloadrneovim-9a584773b5a19155d11f645d3a8af107e98b2e00.tar.gz
rneovim-9a584773b5a19155d11f645d3a8af107e98b2e00.tar.bz2
rneovim-9a584773b5a19155d11f645d3a8af107e98b2e00.zip
screen.c: add update_window_hl to special redrawing entrypoints
The following (run as a script) used to cause a crash due to :sign using a special redraw (not updating nvim's specific highlight data structures) without proper redraw first, as split just flags for redraw later. set cursorline sign define piet text=>> texthl=Search split sign place 3 line=2 name=piet buffer=1
Diffstat (limited to 'src')
-rw-r--r--src/nvim/screen.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/nvim/screen.c b/src/nvim/screen.c
index e8dbc11710..4774075086 100644
--- a/src/nvim/screen.c
+++ b/src/nvim/screen.c
@@ -507,6 +507,7 @@ void update_single_line(win_T *wp, linenr_T lnum)
init_search_hl(wp);
start_search_hl();
prepare_search_hl(wp, lnum);
+ update_window_hl(wp, false);
win_line(wp, lnum, row, row + wp->w_lines[j].wl_size, false);
end_search_hl();
break;
@@ -579,6 +580,7 @@ void update_debug_sign(buf_T *buf, linenr_T lnum)
FOR_ALL_WINDOWS_IN_TAB(wp, curtab) {
if (wp->w_redr_type != 0) {
+ update_window_hl(wp, wp->w_redr_type >= NOT_VALID);
win_update(wp);
}
if (wp->w_redr_status) {