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)
diff --git a/src/gui.c b/src/gui.c
index 5689182..634f3fb 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -2253,6 +2253,7 @@
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 @@
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 @@
#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)