changeset 8617:eab968bf3ce7 v7.4.1598

commit https://github.com/vim/vim/commit/6d8d849f5ac8a3a228c62fd29e8f40ae1b8381fc Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 19 14:48:31 2016 +0100 patch 7.4.1598 Problem: When starting the GUI fails a swap file is left behind. (Joerg Plate) Solution: Preserve files before exiting. (closes https://github.com/vim/vim/issues/692)
author Christian Brabandt <cb@256bit.org>
date Sat, 19 Mar 2016 15:00:05 +0100
parents b3032396a708
children 2c980a00b4c6
files src/gui.c src/main.c src/version.c
diffstat 3 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/gui.c
+++ b/src/gui.c
@@ -105,7 +105,7 @@ gui_start(void)
 	/* If there is 'f' in 'guioptions' and specify -g argument,
 	 * gui_mch_init_check() was not called yet.  */
 	if (gui_mch_init_check() != OK)
-	    exit(1);
+	    getout_preserve_modified(1);
 #endif
 	gui_attempt_start();
     }
@@ -272,7 +272,7 @@ gui_do_fork(void)
 #ifdef FEAT_GUI_GTK
     /* Call gtk_init_check() here after fork(). See gui_init_check(). */
     if (gui_mch_init_check() != OK)
-	exit(1);
+	getout_preserve_modified(1);
 #endif
 
 # if defined(HAVE_SETSID) || defined(HAVE_SETPGID)
@@ -309,7 +309,7 @@ gui_do_fork(void)
 
     /* If we failed to start the GUI, exit now. */
     if (!gui.in_use)
-	exit(1);
+	getout_preserve_modified(1);
 }
 
 /*
--- a/src/main.c
+++ b/src/main.c
@@ -1355,7 +1355,7 @@ main_loop(
 }
 
 
-#if defined(USE_XSMP) || defined(FEAT_GUI_MSWIN) || defined(PROTO)
+#if defined(USE_XSMP) || defined(FEAT_GUI) || defined(PROTO)
 /*
  * Exit, but leave behind swap files for modified buffers.
  */
@@ -1377,7 +1377,9 @@ getout_preserve_modified(int exitval)
 #endif
 
 
-/* Exit properly */
+/*
+ * Exit properly.
+ */
     void
 getout(int exitval)
 {
--- a/src/version.c
+++ b/src/version.c
@@ -749,6 +749,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1598,
+/**/
     1597,
 /**/
     1596,