Skip to content

Commit 4292eea

Browse files
mattnchrisbra
authored andcommitted
patch 9.2.0239: signcolumn may cause flicker
Problem: Changing the 'signcolumn' may cause flicker, because it uses the P_RCLR flag for redrawing (Yggdroot) Solution: Change 'signcolumn' to use P_RWIN instead of P_RCLR, matching the behavior of 'number' and 'foldcolumn' (Yasuhiro Matsumoto). fixes: #19663 closes: #19713 Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
1 parent 9a2260d commit 4292eea

20 files changed

Lines changed: 66 additions & 17 deletions

src/optiondefs.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2416,7 +2416,7 @@ static struct vimoption options[] =
24162416
{"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
24172417
(char_u *)&p_siso, PV_SISO, NULL, NULL,
24182418
{(char_u *)0L, (char_u *)0L} SCTX_INIT},
2419-
{"signcolumn", "scl", P_STRING|P_ALLOCED|P_VI_DEF|P_RCLR,
2419+
{"signcolumn", "scl", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
24202420
#ifdef FEAT_SIGNS
24212421
(char_u *)VAR_WIN, PV_SCL, did_set_signcolumn, expand_set_signcolumn,
24222422
{(char_u *)"auto", (char_u *)0L}

src/optionstr.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4080,6 +4080,13 @@ did_set_signcolumn(optset_T *args)
40804080
curwin->w_nrwidth_line_count = 0;
40814081
# endif
40824082

4083+
# if defined(FEAT_GUI)
4084+
// In the GUI, when sign icons are used, a full screen clear is needed
4085+
// to properly redraw the sign icons.
4086+
if (gui.in_use && curbuf->b_signlist != NULL)
4087+
redraw_all_later(UPD_CLEAR);
4088+
# endif
4089+
40834090
return NULL;
40844091
}
40854092

src/testdir/dumps/Test_Xcursorline_13.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_Xcursorline_14.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_Xcursorline_15.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_Xcursorline_16.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_Xcursorline_17.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_Xcursorline_18.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_prop_inserts_text_2.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/testdir/dumps/Test_prop_inserts_text_3.dump

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)