diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-05-26 22:17:52 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-05-26 22:17:52 +0200 |
commit | 2cd0dce898995a2b05f7285a70efec3f67f579f5 (patch) | |
tree | d0f53338a226bedd3730e5a143bc226aff64cdb4 /src/screen.c | |
parent | 68e6560b84f196c82e27a72669684d5506a3a837 (diff) | |
download | vim-git-2cd0dce898995a2b05f7285a70efec3f67f579f5.tar.gz |
patch 8.1.1406: popup_hide() and popup_show() not implemented yetv8.1.1406
Problem: popup_hide() and popup_show() not implemented yet.
Solution: Implement the functions.
Diffstat (limited to 'src/screen.c')
-rw-r--r-- | src/screen.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/screen.c b/src/screen.c index 30e1bb21a..40cff9acc 100644 --- a/src/screen.c +++ b/src/screen.c @@ -610,7 +610,7 @@ update_screen(int type_arg) } #ifdef FEAT_TEXT_PROP // TODO: avoid redrawing everything when there is a popup window. - if (first_popupwin != NULL || curtab->tp_first_popupwin != NULL) + if (popup_any_visible()) type = NOT_VALID; #endif @@ -999,9 +999,9 @@ update_popups(void) // Reset all the VALID_POPUP flags. for (wp = first_popupwin; wp != NULL; wp = wp->w_next) - wp->w_valid &= ~VALID_POPUP; + wp->w_popup_flags &= ~PFL_REDRAWN; for (wp = curtab->tp_first_popupwin; wp != NULL; wp = wp->w_next) - wp->w_valid &= ~VALID_POPUP; + wp->w_popup_flags &= ~PFL_REDRAWN; // TODO: don't redraw every popup every time. for (;;) @@ -1012,14 +1012,14 @@ update_popups(void) lowest_zindex = INT_MAX; lowest_wp = NULL; for (wp = first_popupwin; wp != NULL; wp = wp->w_next) - if ((wp->w_valid & VALID_POPUP) == 0 + if ((wp->w_popup_flags & (PFL_REDRAWN|PFL_HIDDEN)) == 0 && wp->w_zindex < lowest_zindex) { lowest_zindex = wp->w_zindex; lowest_wp = wp; } for (wp = curtab->tp_first_popupwin; wp != NULL; wp = wp->w_next) - if ((wp->w_valid & VALID_POPUP) == 0 + if ((wp->w_popup_flags & (PFL_REDRAWN|PFL_HIDDEN)) == 0 && wp->w_zindex < lowest_zindex) { lowest_zindex = wp->w_zindex; @@ -1029,7 +1029,7 @@ update_popups(void) if (lowest_wp == NULL) break; win_update(lowest_wp); - lowest_wp->w_valid |= VALID_POPUP; + lowest_wp->w_popup_flags |= PFL_REDRAWN; } } #endif |