mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 8.1.1587: redraw problem when sign icons in the number column
Problem: Redraw problem when sign icons in the number column. Solution: Clear and redraw when changing related options. Right aligh the sign icon in the GUI. (Yegappan Lakshmanan, closes #4578)
This commit is contained in:
parent
b2cda0dd1d
commit
2b044ffb5a
@ -2253,6 +2253,7 @@ gui_outstr_nowrap(
|
|||||||
int col = gui.col;
|
int col = gui.col;
|
||||||
#ifdef FEAT_SIGN_ICONS
|
#ifdef FEAT_SIGN_ICONS
|
||||||
int draw_sign = FALSE;
|
int draw_sign = FALSE;
|
||||||
|
int signcol = 0;
|
||||||
char_u extra[18];
|
char_u extra[18];
|
||||||
# ifdef FEAT_NETBEANS_INTG
|
# ifdef FEAT_NETBEANS_INTG
|
||||||
int multi_sign = FALSE;
|
int multi_sign = FALSE;
|
||||||
@ -2287,6 +2288,8 @@ gui_outstr_nowrap(
|
|||||||
if (len == 1 && col > 0)
|
if (len == 1 && col > 0)
|
||||||
--col;
|
--col;
|
||||||
len = (int)STRLEN(s);
|
len = (int)STRLEN(s);
|
||||||
|
if (len > 2)
|
||||||
|
signcol = len - 3; // Right align sign icon in the number column
|
||||||
draw_sign = TRUE;
|
draw_sign = TRUE;
|
||||||
highlight_mask = 0;
|
highlight_mask = 0;
|
||||||
}
|
}
|
||||||
@ -2612,7 +2615,7 @@ gui_outstr_nowrap(
|
|||||||
#ifdef FEAT_SIGN_ICONS
|
#ifdef FEAT_SIGN_ICONS
|
||||||
if (draw_sign)
|
if (draw_sign)
|
||||||
/* Draw the sign on top of the spaces. */
|
/* Draw the sign on top of the spaces. */
|
||||||
gui_mch_drawsign(gui.row, col, gui.highlight_mask);
|
gui_mch_drawsign(gui.row, signcol, gui.highlight_mask);
|
||||||
# if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \
|
# if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \
|
||||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN))
|
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN))
|
||||||
if (multi_sign)
|
if (multi_sign)
|
||||||
|
@ -1985,7 +1985,7 @@ static struct vimoption options[] =
|
|||||||
(char_u *)&p_nf, PV_NF,
|
(char_u *)&p_nf, PV_NF,
|
||||||
{(char_u *)"bin,octal,hex", (char_u *)0L}
|
{(char_u *)"bin,octal,hex", (char_u *)0L}
|
||||||
SCTX_INIT},
|
SCTX_INIT},
|
||||||
{"number", "nu", P_BOOL|P_VI_DEF|P_RWIN,
|
{"number", "nu", P_BOOL|P_VI_DEF|P_RCLR,
|
||||||
(char_u *)VAR_WIN, PV_NU,
|
(char_u *)VAR_WIN, PV_NU,
|
||||||
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
|
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
|
||||||
{"numberwidth", "nuw", P_NUM|P_RWIN|P_VIM,
|
{"numberwidth", "nuw", P_NUM|P_RWIN|P_VIM,
|
||||||
@ -2252,7 +2252,7 @@ static struct vimoption options[] =
|
|||||||
{"regexpengine", "re", P_NUM|P_VI_DEF,
|
{"regexpengine", "re", P_NUM|P_VI_DEF,
|
||||||
(char_u *)&p_re, PV_NONE,
|
(char_u *)&p_re, PV_NONE,
|
||||||
{(char_u *)0L, (char_u *)0L} SCTX_INIT},
|
{(char_u *)0L, (char_u *)0L} SCTX_INIT},
|
||||||
{"relativenumber", "rnu", P_BOOL|P_VI_DEF|P_RWIN,
|
{"relativenumber", "rnu", P_BOOL|P_VI_DEF|P_RCLR,
|
||||||
(char_u *)VAR_WIN, PV_RNU,
|
(char_u *)VAR_WIN, PV_RNU,
|
||||||
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
|
{(char_u *)FALSE, (char_u *)0L} SCTX_INIT},
|
||||||
{"remap", NULL, P_BOOL|P_VI_DEF,
|
{"remap", NULL, P_BOOL|P_VI_DEF,
|
||||||
@ -2497,7 +2497,7 @@ static struct vimoption options[] =
|
|||||||
{"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
|
{"sidescrolloff", "siso", P_NUM|P_VI_DEF|P_VIM|P_RBUF,
|
||||||
(char_u *)&p_siso, PV_SISO,
|
(char_u *)&p_siso, PV_SISO,
|
||||||
{(char_u *)0L, (char_u *)0L} SCTX_INIT},
|
{(char_u *)0L, (char_u *)0L} SCTX_INIT},
|
||||||
{"signcolumn", "scl", P_STRING|P_ALLOCED|P_VI_DEF|P_RWIN,
|
{"signcolumn", "scl", P_STRING|P_ALLOCED|P_VI_DEF|P_RCLR,
|
||||||
#ifdef FEAT_SIGNS
|
#ifdef FEAT_SIGNS
|
||||||
(char_u *)VAR_WIN, PV_SCL,
|
(char_u *)VAR_WIN, PV_SCL,
|
||||||
{(char_u *)"auto", (char_u *)0L}
|
{(char_u *)"auto", (char_u *)0L}
|
||||||
|
@ -777,6 +777,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1587,
|
||||||
/**/
|
/**/
|
||||||
1586,
|
1586,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user