mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
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.
This commit is contained in:
13
src/eval.c
13
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;
|
||||
|
Reference in New Issue
Block a user