diff src/popupwin.c @ 17634:6e6a84993444 v8.1.1814

patch 8.1.1814: a long title in a popup window overflows commit https://github.com/vim/vim/commit/5d458a7b3d1819d51bff6f3682b81bf943c7e9d0 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Aug 4 21:12:15 2019 +0200 patch 8.1.1814: a long title in a popup window overflows Problem: A long title in a popup window overflows. Solution: Truncate the title. (closes https://github.com/vim/vim/issues/4770)
author Bram Moolenaar <Bram@vim.org>
date Sun, 04 Aug 2019 21:15:04 +0200
parents 2ae30dac20d6
children c75da1064e33
line wrap: on
line diff
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2969,8 +2969,14 @@ update_popups(void (*win_update)(win_T *
 
 	// Title goes on top of border or padding.
 	if (wp->w_popup_title != NULL)
-	    screen_puts(wp->w_popup_title, wp->w_winrow, wp->w_wincol + 1,
+	{
+	    int	    len = (int)STRLEN(wp->w_popup_title) + 1;
+	    char_u  *title = alloc(len);
+
+	    trunc_string(wp->w_popup_title, title, total_width - 2, len);
+	    screen_puts(title, wp->w_winrow, wp->w_wincol + 1,
 		    wp->w_popup_border[0] > 0 ? border_attr[0] : popup_attr);
+	}
 
 	// Compute scrollbar thumb position and size.
 	if (wp->w_has_scrollbar)