patch 8.0.1223: crash when using autocomplete and tab pages
Problem: Crash when using autocomplete and tab pages.
Solution: Check if the current tab changed. (Christian Brabandt, closes
#2239)
diff --git a/src/popupmnu.c b/src/popupmnu.c
index 418f0ca..ec75281 100644
--- a/src/popupmnu.c
+++ b/src/popupmnu.c
@@ -566,6 +566,7 @@
&& vim_strchr(p_cot, 'p') != NULL)
{
win_T *curwin_save = curwin;
+ tabpage_T *curtab_save = curtab;
int res = OK;
/* Open a preview window. 3 lines by default. Prefer
@@ -653,8 +654,13 @@
curwin->w_cursor.lnum = 1;
curwin->w_cursor.col = 0;
- if (curwin != curwin_save && win_valid(curwin_save))
+ if ((curwin != curwin_save && win_valid(curwin_save))
+ || (curtab != curtab_save
+ && valid_tabpage(curtab_save)))
{
+ if (curtab != curtab_save && valid_tabpage(curtab_save))
+ goto_tabpage_tp(curtab_save, FALSE, FALSE);
+
/* When the first completion is done and the preview
* window is not resized, skip the preview window's
* status line redrawing. */