diff src/gui.c @ 17176:210937723567 v8.1.1587

patch 8.1.1587: redraw problem when sign icons in the number column commit https://github.com/vim/vim/commit/2b044ffb5ada77e6fa89779d6532ea9fae3fe029 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jun 24 05:45:14 2019 +0200 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)
author Bram Moolenaar <Bram@vim.org>
date Mon, 24 Jun 2019 06:00:06 +0200
parents 3c0efdd95f8d
children 9ca8baed6b90
line wrap: on
line diff
--- a/src/gui.c
+++ b/src/gui.c
@@ -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)