forked from aniani/vim
patch 8.2.2470: popup_getoptions() does not get textprop from other tab
Problem: Popup_getoptions() does not get textprop from other tab. Solution: use win_valid_any_tab(). (closes #7786)
This commit is contained in:
@@ -2983,7 +2983,7 @@ f_popup_getoptions(typval_T *argvars, typval_T *rettv)
|
||||
dict_add_number(dict, "scrollbar", wp->w_want_scrollbar);
|
||||
dict_add_number(dict, "zindex", wp->w_zindex);
|
||||
dict_add_number(dict, "fixed", wp->w_popup_fixed);
|
||||
if (wp->w_popup_prop_type && win_valid(wp->w_popup_prop_win))
|
||||
if (wp->w_popup_prop_type && win_valid_any_tab(wp->w_popup_prop_win))
|
||||
{
|
||||
proptype_T *pt = text_prop_type_by_id(
|
||||
wp->w_popup_prop_win->w_buffer,
|
||||
|
||||
@@ -3803,4 +3803,18 @@ func Test_popup_filter_menu()
|
||||
call feedkeys("\<c-n>\<c-n>\<c-p>\<cr>", 'xt')
|
||||
endfunc
|
||||
|
||||
func Test_popup_getoptions_other_tab()
|
||||
new
|
||||
call setline(1, 'some text')
|
||||
call prop_type_add('textprop', {})
|
||||
call prop_add(1, 1, #{type: 'textprop', length: 1})
|
||||
let id = popup_create('TEST', #{textprop: 'textprop', highlight: 'ErrorMsg', tabpage: 1})
|
||||
tab sp
|
||||
call assert_equal(['textprop', 'textpropid', 'textpropwin'], popup_getoptions(id)->keys()->filter({_, v -> v =~ 'textprop'}))
|
||||
|
||||
tabclose
|
||||
bwipe!
|
||||
call prop_type_delete('textprop')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2
|
||||
|
||||
@@ -750,6 +750,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2470,
|
||||
/**/
|
||||
2469,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user