Mercurial > vim
comparison src/screen.c @ 16796:5f98d80d116a v8.1.1400
patch 8.1.1400: using global pointer for tab-local popups is clumsy
commit https://github.com/vim/vim/commit/9c27b1c6d140ca824a78654c1cb70a43a69b4ec6
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun May 26 18:48:13 2019 +0200
patch 8.1.1400: using global pointer for tab-local popups is clumsy
Problem: Using global pointer for tab-local popups is clumsy.
Solution: Use the pointer in tabpage_T.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 26 May 2019 19:00:04 +0200 |
parents | f7268ec2c889 |
children | 5ff14f96f1c9 |
comparison
equal
deleted
inserted
replaced
16795:39a8595200a6 | 16796:5f98d80d116a |
---|---|
608 curwin->w_lines_valid = 0; /* don't use w_lines[].wl_size now */ | 608 curwin->w_lines_valid = 0; /* don't use w_lines[].wl_size now */ |
609 return FAIL; | 609 return FAIL; |
610 } | 610 } |
611 #ifdef FEAT_TEXT_PROP | 611 #ifdef FEAT_TEXT_PROP |
612 // TODO: avoid redrawing everything when there is a popup window. | 612 // TODO: avoid redrawing everything when there is a popup window. |
613 if (first_popupwin != NULL || first_tab_popupwin != NULL) | 613 if (first_popupwin != NULL || curtab->tp_first_popupwin != NULL) |
614 type = NOT_VALID; | 614 type = NOT_VALID; |
615 #endif | 615 #endif |
616 | 616 |
617 updating_screen = TRUE; | 617 updating_screen = TRUE; |
618 #ifdef FEAT_SYN_HL | 618 #ifdef FEAT_SYN_HL |
998 int lowest_zindex; | 998 int lowest_zindex; |
999 | 999 |
1000 // Reset all the VALID_POPUP flags. | 1000 // Reset all the VALID_POPUP flags. |
1001 for (wp = first_popupwin; wp != NULL; wp = wp->w_next) | 1001 for (wp = first_popupwin; wp != NULL; wp = wp->w_next) |
1002 wp->w_valid &= ~VALID_POPUP; | 1002 wp->w_valid &= ~VALID_POPUP; |
1003 for (wp = first_tab_popupwin; wp != NULL; wp = wp->w_next) | 1003 for (wp = curtab->tp_first_popupwin; wp != NULL; wp = wp->w_next) |
1004 wp->w_valid &= ~VALID_POPUP; | 1004 wp->w_valid &= ~VALID_POPUP; |
1005 | 1005 |
1006 // TODO: don't redraw every popup every time. | 1006 // TODO: don't redraw every popup every time. |
1007 for (;;) | 1007 for (;;) |
1008 { | 1008 { |
1016 && wp->w_zindex < lowest_zindex) | 1016 && wp->w_zindex < lowest_zindex) |
1017 { | 1017 { |
1018 lowest_zindex = wp->w_zindex; | 1018 lowest_zindex = wp->w_zindex; |
1019 lowest_wp = wp; | 1019 lowest_wp = wp; |
1020 } | 1020 } |
1021 for (wp = first_tab_popupwin; wp != NULL; wp = wp->w_next) | 1021 for (wp = curtab->tp_first_popupwin; wp != NULL; wp = wp->w_next) |
1022 if ((wp->w_valid & VALID_POPUP) == 0 | 1022 if ((wp->w_valid & VALID_POPUP) == 0 |
1023 && wp->w_zindex < lowest_zindex) | 1023 && wp->w_zindex < lowest_zindex) |
1024 { | 1024 { |
1025 lowest_zindex = wp->w_zindex; | 1025 lowest_zindex = wp->w_zindex; |
1026 lowest_wp = wp; | 1026 lowest_wp = wp; |