1
0
forked from aniani/vim

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)
This commit is contained in:
Bram Moolenaar
2019-11-13 22:35:19 +01:00
parent 36e7a823c6
commit afe45b68a6
7 changed files with 80 additions and 32 deletions

View File

@@ -624,15 +624,21 @@ extern int (*dyn_libintl_wputenv)(const wchar_t *envstring);
// 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)