patch 8.1.2300: redraw breaks going through list of popup windows
Problem: Redraw breaks going through list of popup windows.
Solution: Use different flags for popup_reset_handled(). (closes #5216)
diff --git a/src/vim.h b/src/vim.h
index fe1e982..4d409d4 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -624,15 +624,21 @@
// Values for w_popup_flags.
#define POPF_IS_POPUP 0x01 // this is a popup window
#define POPF_HIDDEN 0x02 // popup is not displayed
-#define POPF_HANDLED 0x04 // popup was just redrawn or filtered
-#define POPF_CURSORLINE 0x08 // popup is highlighting at the cursorline
-#define POPF_ON_CMDLINE 0x10 // popup overlaps command line
-#define POPF_DRAG 0x20 // popup can be moved by dragging
-#define POPF_RESIZE 0x40 // popup can be resized by dragging
-#define POPF_MAPPING 0x80 // mapping keys
-#define POPF_INFO 0x100 // used for info of popup menu
-#define POPF_INFO_MENU 0x200 // align info popup with popup menu
-#define POPF_POSINVERT 0x400 // vertical position can be inverted
+#define POPF_CURSORLINE 0x04 // popup is highlighting at the cursorline
+#define POPF_ON_CMDLINE 0x08 // popup overlaps command line
+#define POPF_DRAG 0x10 // popup can be moved by dragging
+#define POPF_RESIZE 0x20 // popup can be resized by dragging
+#define POPF_MAPPING 0x40 // mapping keys
+#define POPF_INFO 0x80 // used for info of popup menu
+#define POPF_INFO_MENU 0x100 // align info popup with popup menu
+#define POPF_POSINVERT 0x200 // vertical position can be inverted
+
+// flags used in w_popup_handled
+#define POPUP_HANDLED_1 0x01 // used by mouse_find_win()
+#define POPUP_HANDLED_2 0x02 // used by popup_do_filter()
+#define POPUP_HANDLED_3 0x04 // used by popup_check_cursor_pos()
+#define POPUP_HANDLED_4 0x08 // used by may_update_popup_mask()
+#define POPUP_HANDLED_5 0x10 // used by update_popups()
#ifdef FEAT_TEXT_PROP
# define WIN_IS_POPUP(wp) ((wp)->w_popup_flags != 0)