0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 8.2.1193: terminal window not redrawn when dragging a popup window

Problem:    Terminal window not redrawn when dragging a popup window over it.
Solution:   Redraw terminal window. (fixes #6438)
This commit is contained in:
Bram Moolenaar
2020-07-12 19:24:10 +02:00
parent b898a029b0
commit 35910f2d54
5 changed files with 76 additions and 13 deletions

View File

@@ -3504,22 +3504,29 @@ may_update_popup_mask(int type)
wp = mouse_find_win(&line_cp, &col_cp, IGNORE_POPUP);
if (wp != NULL)
{
if (wp != prev_wp)
{
vim_memset(plines_cache, 0, sizeof(int) * Rows);
prev_wp = wp;
}
if (line_cp >= wp->w_height)
// In (or below) status line
wp->w_redr_status = TRUE;
// A terminal window needs to be redrawn.
if (bt_terminal(wp->w_buffer))
redraw_win_later(wp, NOT_VALID);
else
{
// compute the position in the buffer line from
// the position in the window
mouse_comp_pos(wp, &line_cp, &col_cp,
if (wp != prev_wp)
{
vim_memset(plines_cache, 0,
sizeof(int) * Rows);
prev_wp = wp;
}
if (line_cp >= wp->w_height)
// In (or below) status line
wp->w_redr_status = TRUE;
else
{
// compute the position in the buffer line
// from the position in the window
mouse_comp_pos(wp, &line_cp, &col_cp,
&lnum, plines_cache);
redrawWinline(wp, lnum);
redrawWinline(wp, lnum);
}
}
// This line is going to be redrawn, no need to