aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/msgpack_rpc/channel.c
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-04-17 19:12:52 +0200
committerGitHub <noreply@github.com>2024-04-17 19:12:52 +0200
commit6488a9268a6352de63fa90233e259ad8f31b44af (patch)
tree709fd51149721f0f8913d8988c5361fc98f6e25f /src/nvim/msgpack_rpc/channel.c
parentb0f9228179bf781eec76d1aaf346b56a7e64cd5d (diff)
parent60d1e3e4718abccbe117f20a49233e7e85ad2a79 (diff)
downloadrneovim-6488a9268a6352de63fa90233e259ad8f31b44af.tar.gz
rneovim-6488a9268a6352de63fa90233e259ad8f31b44af.tar.bz2
rneovim-6488a9268a6352de63fa90233e259ad8f31b44af.zip
Merge pull request #28355 from theofabilous/msgpack-crash-fix
fix(msgpack): retain grid line event memory
Diffstat (limited to 'src/nvim/msgpack_rpc/channel.c')
-rw-r--r--src/nvim/msgpack_rpc/channel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/nvim/msgpack_rpc/channel.c b/src/nvim/msgpack_rpc/channel.c
index 6921deae7e..268d6fe6e4 100644
--- a/src/nvim/msgpack_rpc/channel.c
+++ b/src/nvim/msgpack_rpc/channel.c
@@ -289,8 +289,9 @@ static void parse_msgpack(Channel *channel)
if (p->type == kMessageTypeRedrawEvent) {
// When exiting, ui_client_stop() has already been called, so don't handle UI events.
if (ui_client_channel_id && !exiting) {
- if (p->grid_line_event) {
- ui_client_event_raw_line(p->grid_line_event);
+ if (p->has_grid_line_event) {
+ ui_client_event_raw_line(&p->grid_line_event);
+ p->has_grid_line_event = false;
} else if (p->ui_handler.fn != NULL && p->result.type == kObjectTypeArray) {
p->ui_handler.fn(p->result.data.array);
}