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;