1
0
forked from aniani/vim

patch 8.1.1517: when a popup changes all windows are redrawn

Problem:    When a popup changes all windows are redrawn.
Solution:   Only update the lines that were affected.  Add a file for
            profiling popup windows efficiency.
This commit is contained in:
Bram Moolenaar
2019-06-10 21:24:12 +02:00
parent 640d4f0c97
commit 4c063a0dab
8 changed files with 180 additions and 38 deletions

View File

@@ -3242,15 +3242,19 @@ retnomove:
|| curwin->w_cursor.col != old_cursor.col)
count |= CURSOR_MOVED; /* Cursor has moved */
#ifdef FEAT_FOLDING
# ifdef FEAT_FOLDING
if (mouse_char == '+')
count |= MOUSE_FOLD_OPEN;
else if (mouse_char != ' ')
count |= MOUSE_FOLD_CLOSE;
#endif
# endif
return count;
}
#endif
// Functions also used for popup windows.
#if defined(FEAT_MOUSE) || defined(FEAT_TEXT_PROP) || defined(PROTO)
/*
* Compute the position in the buffer line from the posn on the screen in
@@ -3347,7 +3351,7 @@ mouse_comp_pos(
* Returns NULL when something is wrong.
*/
win_T *
mouse_find_win(int *rowp, int *colp UNUSED)
mouse_find_win(int *rowp, int *colp)
{
frame_T *fp;
win_T *wp;