aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2022-08-18 11:12:50 +0200
committerGitHub <noreply@github.com>2022-08-18 11:12:50 +0200
commit7a2be8cc1712281a74cadd0747de75369ee0edf3 (patch)
treef52350fdd37d1b9479abd1e6bcf07f418ad93f25
parentfbcce2b2ca781fa2133e5d1c85d1eb4ea91a06ee (diff)
parent21b2906c9cbd7683770732314935ddc181d6e736 (diff)
downloadrneovim-7a2be8cc1712281a74cadd0747de75369ee0edf3.tar.gz
rneovim-7a2be8cc1712281a74cadd0747de75369ee0edf3.tar.bz2
rneovim-7a2be8cc1712281a74cadd0747de75369ee0edf3.zip
Merge pull request #19828 from bfredl/nullhl
fix(winhl): do not crash when unsetting winhl in just opened window
-rw-r--r--src/nvim/highlight.c2
-rw-r--r--test/functional/ui/highlight_spec.lua16
2 files changed, 17 insertions, 1 deletions
diff --git a/src/nvim/highlight.c b/src/nvim/highlight.c
index 5dbf4cc558..daac140da1 100644
--- a/src/nvim/highlight.c
+++ b/src/nvim/highlight.c
@@ -319,7 +319,7 @@ void update_window_hl(win_T *wp, bool invalid)
int ns_id = wp->w_ns_hl;
update_ns_hl(ns_id);
- if (ns_id != wp->w_ns_hl_active) {
+ if (ns_id != wp->w_ns_hl_active || wp->w_ns_hl_attr == NULL) {
wp->w_ns_hl_active = ns_id;
wp->w_ns_hl_attr = *(NSHlAttr *)pmap_get(handle_T)(&ns_hl_attr, ns_id);
diff --git a/test/functional/ui/highlight_spec.lua b/test/functional/ui/highlight_spec.lua
index a3943d40b6..64194e17be 100644
--- a/test/functional/ui/highlight_spec.lua
+++ b/test/functional/ui/highlight_spec.lua
@@ -2317,6 +2317,22 @@ describe("'winhighlight' highlight", function()
|
]]}
end)
+
+ it('can be disabled in newly opened window #19823', function()
+ command('split | set winhl=Normal:ErrorMsg | set winhl=')
+ screen:expect{grid=[[
+ ^ |
+ {0:~ }|
+ {0:~ }|
+ {3:[No Name] }|
+ |
+ {0:~ }|
+ {4:[No Name] }|
+ |
+ ]]}
+
+ helpers.assert_alive()
+ end)
end)
describe('highlight namespaces', function()