From 0a69cdd277a25c0e5ebafe367e2282b3b6f7257b Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Thu, 3 Aug 2023 08:44:34 +0200 Subject: [PATCH] libvterm: Fix clear selection see: https://bugs.launchpad.net/libvterm/+bug/2029450 Change-Id: I3a075e58787bdd85a154dc7d0626a398d072f5b8 Reviewed-by: Cristian Adam --- src/libs/3rdparty/libvterm/src/state.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/libs/3rdparty/libvterm/src/state.c b/src/libs/3rdparty/libvterm/src/state.c index 1b0a4a32ee9..45db3fca2ea 100644 --- a/src/libs/3rdparty/libvterm/src/state.c +++ b/src/libs/3rdparty/libvterm/src/state.c @@ -1657,8 +1657,18 @@ static void osc_selection(VTermState *state, VTermStringFragment frag) frag.len--; } - if(!frag.len) + if(!frag.len) { + // Clear selection + if(state->selection.callbacks->set) { + (*state->selection.callbacks->set)(state->tmp.selection.mask, (VTermStringFragment){ + .str = 0, + .len = 0, + .initial = true, + .final = true, + }, state->selection.user); + } return; + } if(state->tmp.selection.state == SELECTION_SELECTED) { if(frag.str[0] == '?') {