0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -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:
Bram Moolenaar
2019-06-24 05:45:14 +02:00
parent b2cda0dd1d
commit 2b044ffb5a
3 changed files with 9 additions and 4 deletions

View File

@@ -2253,6 +2253,7 @@ gui_outstr_nowrap(
int col = gui.col;
#ifdef FEAT_SIGN_ICONS
int draw_sign = FALSE;
int signcol = 0;
char_u extra[18];
# ifdef FEAT_NETBEANS_INTG
int multi_sign = FALSE;
@@ -2287,6 +2288,8 @@ gui_outstr_nowrap(
if (len == 1 && col > 0)
--col;
len = (int)STRLEN(s);
if (len > 2)
signcol = len - 3; // Right align sign icon in the number column
draw_sign = TRUE;
highlight_mask = 0;
}
@@ -2612,7 +2615,7 @@ gui_outstr_nowrap(
#ifdef FEAT_SIGN_ICONS
if (draw_sign)
/* 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) \
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MSWIN))
if (multi_sign)