0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00

patch 8.1.2109: popup_getoptions() hangs with tab-local popup

Problem:    popup_getoptions() hangs with tab-local popup.
Solution:   Correct pointer name. (Marko Mahnič, closes #5006)
This commit is contained in:
Bram Moolenaar 2019-10-02 23:06:46 +02:00
parent 23324a0b35
commit 1824f45883
3 changed files with 18 additions and 4 deletions

View File

@ -2636,12 +2636,12 @@ f_popup_getoptions(typval_T *argvars, typval_T *rettv)
i = 1;
FOR_ALL_TABPAGES(tp)
{
win_T *p;
win_T *twp;
for (p = tp->tp_first_popupwin; p != NULL; p = wp->w_next)
if (p->w_id == id)
for (twp = tp->tp_first_popupwin; twp != NULL; twp = twp->w_next)
if (twp->w_id == id)
break;
if (p != NULL)
if (twp != NULL)
break;
++i;
}

View File

@ -2556,4 +2556,16 @@ func Test_popupwin_recycle_bnr()
call popup_clear()
endfunc
func Test_popupwin_getoptions_tablocal()
topleft split
let win1 = popup_create('nothing', #{maxheight: 8})
let win2 = popup_create('something', #{maxheight: 10})
let win3 = popup_create('something', #{maxheight: 15})
call assert_equal(8, popup_getoptions(win1).maxheight)
call assert_equal(10, popup_getoptions(win2).maxheight)
call assert_equal(15, popup_getoptions(win3).maxheight)
call popup_clear()
quit
endfunc
" vim: shiftwidth=2 sts=2

View File

@ -753,6 +753,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2109,
/**/
2108,
/**/