Mercurial > vim
diff src/eval.c @ 16778:eda4d65f232c v8.1.1391
patch 8.1.1391: no popup window support
commit https://github.com/vim/vim/commit/4d784b21d14fc66e98a2b07f70343cdd4acd62aa
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 25 19:51:39 2019 +0200
patch 8.1.1391: no popup window support
Problem: No popup window support.
Solution: Add initial code for popup windows. Add the 'wincolor' option.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 25 May 2019 20:00:08 +0200 |
parents | 695d9ef00b03 |
children | 5f98d80d116a |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -5585,6 +5585,19 @@ garbage_collect(int testing) if (aucmd_win != NULL) abort = abort || set_ref_in_item(&aucmd_win->w_winvar.di_tv, copyID, NULL, NULL); +#ifdef FEAT_TEXT_PROP + for (wp = first_popupwin; wp != NULL; wp = wp->w_next) + abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID, + NULL, NULL); + for (wp = first_tab_popupwin; wp != NULL; wp = wp->w_next) + abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID, + NULL, NULL); + FOR_ALL_TABPAGES(tp) + if (tp != curtab) + for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next) + abort = abort || set_ref_in_item(&wp->w_winvar.di_tv, copyID, + NULL, NULL); +#endif /* tabpage-local variables */ FOR_ALL_TABPAGES(tp) @@ -8801,7 +8814,20 @@ find_win_by_nr( break; } if (nr >= LOWEST_WIN_ID) + { +#ifdef FEAT_TEXT_PROP + // popup windows are in a separate list + for (wp = (tp == NULL || tp == curtab) + ? first_tab_popupwin : tp->tp_first_popupwin; + wp != NULL; wp = wp->w_next) + if (wp->w_id == nr) + return wp; + for (wp = first_popupwin; wp != NULL; wp = wp->w_next) + if (wp->w_id == nr) + return wp; +#endif return NULL; + } return wp; }