mirror of
https://github.com/vim/vim.git
synced 2025-11-08 10:27:32 -05:00
patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Problem: Popup_setoptions(popup_getoptions()) does not work.
Solution: Also accept a list with three entries for "moved" and
"mousemoved". (closes #5081)
This commit is contained in:
@@ -493,12 +493,28 @@ handle_moved_argument(win_T *wp, dictitem_T *di, int mousemoved)
|
||||
}
|
||||
else if (di->di_tv.v_type == VAR_LIST
|
||||
&& di->di_tv.vval.v_list != NULL
|
||||
&& di->di_tv.vval.v_list->lv_len == 2)
|
||||
&& (di->di_tv.vval.v_list->lv_len == 2
|
||||
|| di->di_tv.vval.v_list->lv_len == 3))
|
||||
{
|
||||
list_T *l = di->di_tv.vval.v_list;
|
||||
int mincol = tv_get_number(&l->lv_first->li_tv);
|
||||
int maxcol = tv_get_number(&l->lv_first->li_next->li_tv);
|
||||
list_T *l = di->di_tv.vval.v_list;
|
||||
listitem_T *li = l->lv_first;
|
||||
int mincol;
|
||||
int maxcol;
|
||||
|
||||
if (di->di_tv.vval.v_list->lv_len == 3)
|
||||
{
|
||||
varnumber_T nr = tv_get_number(&l->lv_first->li_tv);
|
||||
|
||||
// Three numbers, might be from popup_getoptions().
|
||||
if (mousemoved)
|
||||
wp->w_popup_mouse_row = nr;
|
||||
else
|
||||
wp->w_popup_lnum = nr;
|
||||
li = li->li_next;
|
||||
}
|
||||
|
||||
mincol = tv_get_number(&li->li_tv);
|
||||
maxcol = tv_get_number(&li->li_next->li_tv);
|
||||
if (mousemoved)
|
||||
{
|
||||
wp->w_popup_mouse_mincol = mincol;
|
||||
|
||||
Reference in New Issue
Block a user