diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.305')
-rw-r--r-- | source/ap/vim/patches/7.2.305 | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/source/ap/vim/patches/7.2.305 b/source/ap/vim/patches/7.2.305 deleted file mode 100644 index c8ad7084b..000000000 --- a/source/ap/vim/patches/7.2.305 +++ /dev/null @@ -1,105 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.305 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.2.305 -Problem: Recursively redrawing causes a memory leak. (Dominique Pelle) -Solution: Disallow recursive screen updating. -Files: src/screen.c - - -*** ../vim-7.2.304/src/screen.c 2009-11-11 17:07:25.000000000 +0100 ---- src/screen.c 2009-11-17 16:30:53.000000000 +0100 -*************** -*** 323,328 **** ---- 323,329 ---- - int did_one; - #endif - -+ /* Don't do anything if the screen structures are (not yet) valid. */ - if (!screen_valid(TRUE)) - return; - -*************** -*** 342,348 **** - if (curwin->w_lines_valid == 0 && type < NOT_VALID) - type = NOT_VALID; - -! if (!redrawing()) - { - redraw_later(type); /* remember type for next time */ - must_redraw = type; ---- 343,351 ---- - if (curwin->w_lines_valid == 0 && type < NOT_VALID) - type = NOT_VALID; - -! /* Postpone the redrawing when it's not needed and when being called -! * recursively. */ -! if (!redrawing() || updating_screen) - { - redraw_later(type); /* remember type for next time */ - must_redraw = type; -*************** -*** 582,587 **** ---- 585,591 ---- - - /* - * Prepare for updating one or more windows. -+ * Caller must check for "updating_screen" already set to avoid recursiveness. - */ - static void - update_prepare() -*************** -*** 663,669 **** - doit = TRUE; - } - -! if (!doit) - return; - - /* update all windows that need updating */ ---- 667,675 ---- - doit = TRUE; - } - -! /* Return when there is nothing to do or screen updating already -! * happening. */ -! if (!doit || updating_screen) - return; - - /* update all windows that need updating */ -*************** -*** 696,701 **** ---- 702,711 ---- - updateWindow(wp) - win_T *wp; - { -+ /* return if already busy updating */ -+ if (updating_screen) -+ return; -+ - update_prepare(); - - #ifdef FEAT_CLIPBOARD -*** ../vim-7.2.304/src/version.c 2009-11-25 12:38:49.000000000 +0100 ---- src/version.c 2009-11-25 13:01:48.000000000 +0100 -*************** -*** 683,684 **** ---- 683,686 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 305, - /**/ - --- -If the Universe is constantly expanding, why can't I ever find a parking space? - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |