patch 8.1.1997: no redraw after a popup window filter is invoked

Problem:    No redraw after a popup window filter is invoked.
Solution:   Redraw if needed.
diff --git a/src/popupwin.c b/src/popupwin.c
index 226232d..1fb72bb 100644
--- a/src/popupwin.c
+++ b/src/popupwin.c
@@ -2802,6 +2802,8 @@
 		&& (wp->w_filter_mode & state) != 0)
 	    res = invoke_popup_filter(wp, c);
 
+    if (must_redraw)
+	redraw_after_callback(FALSE);
     recursive = FALSE;
     KeyTyped = save_KeyTyped;
     return res;
diff --git a/src/testdir/dumps/Test_popupwin_menu_filter_5.dump b/src/testdir/dumps/Test_popupwin_menu_filter_5.dump
new file mode 100644
index 0000000..910e224
--- /dev/null
+++ b/src/testdir/dumps/Test_popupwin_menu_filter_5.dump
@@ -0,0 +1,10 @@
+| +0&#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|~| @73
+|:+0#0000000&> @73
diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim
index e6b4137..cbfc7d2 100644
--- a/src/testdir/test_popupwin.vim
+++ b/src/testdir/test_popupwin.vim
@@ -2159,9 +2159,9 @@
 		call win_execute(a:winid, "call setpos('.', [0, line('.') - 1, 1, 0])")
 		return 1
 	  endif
-	  if a:key == 'x'
+	  if a:key == ':'
 		call popup_close(a:winid)
-		return 1
+		return 0
 	  endif
 	  return 0
 	endfunction
@@ -2185,7 +2185,10 @@
   call term_sendkeys(buf, "0")
   call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_4', {})
 
-  call term_sendkeys(buf, "x")
+  " check that when the popup is closed in the filter the screen is redrawn
+  call term_sendkeys(buf, ":")
+  call VerifyScreenDump(buf, 'Test_popupwin_menu_filter_5', {})
+  call term_sendkeys(buf, "\<CR>")
 
   " clean up
   call StopVimInTerminal(buf)
diff --git a/src/version.c b/src/version.c
index 9610b1a..d933bff 100644
--- a/src/version.c
+++ b/src/version.c
@@ -758,6 +758,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1997,
+/**/
     1996,
 /**/
     1995,