Mercurial > vim
diff src/eval.c @ 16796:5f98d80d116a v8.1.1400
patch 8.1.1400: using global pointer for tab-local popups is clumsy
commit https://github.com/vim/vim/commit/9c27b1c6d140ca824a78654c1cb70a43a69b4ec6
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 26 18:48:13 2019 +0200
patch 8.1.1400: using global pointer for tab-local popups is clumsy
Problem: Using global pointer for tab-local popups is clumsy.
Solution: Use the pointer in tabpage_T.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 26 May 2019 19:00:04 +0200 |
parents | eda4d65f232c |
children | ce04ebdf26b8 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -5589,12 +5589,8 @@ garbage_collect(int testing) 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) + 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 @@ -8816,12 +8812,11 @@ find_win_by_nr( 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) + // check tab-local popup windows + for (wp = tp->tp_first_popupwin; wp != NULL; wp = wp->w_next) if (wp->w_id == nr) return wp; + // check global popup windows for (wp = first_popupwin; wp != NULL; wp = wp->w_next) if (wp->w_id == nr) return wp;