summaryrefslogtreecommitdiff
path: root/source/ap/vim/patches/7.3.528
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.528')
-rw-r--r--source/ap/vim/patches/7.3.528171
1 files changed, 0 insertions, 171 deletions
diff --git a/source/ap/vim/patches/7.3.528 b/source/ap/vim/patches/7.3.528
deleted file mode 100644
index 41084ad4..00000000
--- a/source/ap/vim/patches/7.3.528
+++ /dev/null
@@ -1,171 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.528
-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.3.528
-Problem: Crash when closing last window in a tab. (Alex Efros)
-Solution: Use common code in close_last_window_tabpage(). (Christian
- Brabandt)
-Files: src/window.c
-
-
-*** ../vim-7.3.527/src/window.c 2012-03-16 19:07:54.000000000 +0100
---- src/window.c 2012-05-25 12:25:16.000000000 +0200
-***************
-*** 23,28 ****
---- 23,29 ----
- static void win_totop __ARGS((int size, int flags));
- static void win_equal_rec __ARGS((win_T *next_curwin, int current, frame_T *topfr, int dir, int col, int row, int width, int height));
- static int last_window __ARGS((void));
-+ static int close_last_window_tabpage __ARGS((win_T *win, int free_buf, tabpage_T *prev_curtab));
- static win_T *win_free_mem __ARGS((win_T *win, int *dirp, tabpage_T *tp));
- static frame_T *win_altframe __ARGS((win_T *win, tabpage_T *tp));
- static tabpage_T *alt_tabpage __ARGS((void));
-***************
-*** 2105,2110 ****
---- 2106,2147 ----
- }
-
- /*
-+ * Close the possibly last window in a tab page.
-+ * Returns TRUE when the window was closed already.
-+ */
-+ static int
-+ close_last_window_tabpage(win, free_buf, prev_curtab)
-+ win_T *win;
-+ int free_buf;
-+ tabpage_T *prev_curtab;
-+ {
-+ if (firstwin == lastwin)
-+ {
-+ /*
-+ * Closing the last window in a tab page. First go to another tab
-+ * page and then close the window and the tab page. This avoids that
-+ * curwin and curtab are invalid while we are freeing memory, they may
-+ * be used in GUI events.
-+ */
-+ goto_tabpage_tp(alt_tabpage());
-+ redraw_tabline = TRUE;
-+
-+ /* Safety check: Autocommands may have closed the window when jumping
-+ * to the other tab page. */
-+ if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win)
-+ {
-+ int h = tabline_height();
-+
-+ win_close_othertab(win, free_buf, prev_curtab);
-+ if (h != tabline_height())
-+ shell_new_rows();
-+ }
-+ return TRUE;
-+ }
-+ return FALSE;
-+ }
-+
-+ /*
- * Close window "win". Only works for the current tab page.
- * If "free_buf" is TRUE related buffer may be unloaded.
- *
-***************
-*** 2143,2171 ****
- }
- #endif
-
-! /*
-! * When closing the last window in a tab page first go to another tab
-! * page and then close the window and the tab page. This avoids that
-! * curwin and curtab are not invalid while we are freeing memory, they may
-! * be used in GUI events.
-! */
-! if (firstwin == lastwin)
-! {
-! goto_tabpage_tp(alt_tabpage());
-! redraw_tabline = TRUE;
-!
-! /* Safety check: Autocommands may have closed the window when jumping
-! * to the other tab page. */
-! if (valid_tabpage(prev_curtab) && prev_curtab->tp_firstwin == win)
-! {
-! int h = tabline_height();
-!
-! win_close_othertab(win, free_buf, prev_curtab);
-! if (h != tabline_height())
-! shell_new_rows();
-! }
-! return;
-! }
-
- /* When closing the help window, try restoring a snapshot after closing
- * the window. Otherwise clear the snapshot, it's now invalid. */
---- 2180,2190 ----
- }
- #endif
-
-! /* When closing the last window in a tab page first go to another tab page
-! * and then close the window and the tab page to avoid that curwin and
-! * curtab are invalid while we are freeing memory. */
-! if (close_last_window_tabpage(win, free_buf, prev_curtab))
-! return;
-
- /* When closing the help window, try restoring a snapshot after closing
- * the window. Otherwise clear the snapshot, it's now invalid. */
-***************
-*** 2225,2231 ****
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-! if (!win_valid(win) || last_window() || curtab != prev_curtab)
- return;
-
- /* Free the memory used for the window and get the window that received
---- 2244,2251 ----
-
- /* Autocommands may have closed the window already, or closed the only
- * other window or moved to another tab page. */
-! if (!win_valid(win) || last_window() || curtab != prev_curtab
-! || close_last_window_tabpage(win, free_buf, prev_curtab))
- return;
-
- /* Free the memory used for the window and get the window that received
-***************
-*** 2310,2316 ****
-
- /*
- * Close window "win" in tab page "tp", which is not the current tab page.
-! * This may be the last window ih that tab page and result in closing the tab,
- * thus "tp" may become invalid!
- * Caller must check if buffer is hidden and whether the tabline needs to be
- * updated.
---- 2330,2336 ----
-
- /*
- * Close window "win" in tab page "tp", which is not the current tab page.
-! * This may be the last window in that tab page and result in closing the tab,
- * thus "tp" may become invalid!
- * Caller must check if buffer is hidden and whether the tabline needs to be
- * updated.
-*** ../vim-7.3.527/src/version.c 2012-05-25 11:56:06.000000000 +0200
---- src/version.c 2012-05-25 12:38:25.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 528,
- /**/
-
---
-For society, it's probably a good thing that engineers value function over
-appearance. For example, you wouldn't want engineers to build nuclear power
-plants that only _look_ like they would keep all the radiation inside.
- (Scott Adams - The Dilbert principle)
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///