Mercurial > vim
diff src/ui.c @ 17034:d4a7c690c8e6 v8.1.1517
patch 8.1.1517: when a popup changes all windows are redrawn
commit https://github.com/vim/vim/commit/4c063a0dab57be7bd7aad4b8434feff3db5f1057
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jun 10 21:24:12 2019 +0200
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.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 10 Jun 2019 21:30:06 +0200 |
parents | 7cade95272c4 |
children | 5ed4965ebc7b |
line wrap: on
line diff
--- a/src/ui.c +++ b/src/ui.c @@ -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;