diff src/os_unix.c @ 359:6c62b9b939bd v7.0093

updated for version 7.0093
author vimboss
date Sat, 25 Jun 2005 23:04:51 +0000
parents 644578c9e219
children c53c2d4cda26
line wrap: on
line diff
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -2703,8 +2703,11 @@ mch_early_init()
     void
 mch_free_mem()
 {
-# if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK)
-    vim_free(signal_stack);
+# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
+    if (clip_star.owned)
+	clip_lose_selection(&clip_star);
+    if (clip_plus.owned)
+	clip_lose_selection(&clip_plus);
 # endif
 # if (defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)) || defined(PROTO)
     if (xterm_Shell != (Widget)0)
@@ -2714,6 +2717,18 @@ mch_free_mem()
     if (app_context != (XtAppContext)NULL)
 	XtDestroyApplicationContext(app_context);
 # endif
+# ifdef FEAT_X11
+    if (x11_display != NULL && x11_display != xterm_dpy)
+	XCloseDisplay(x11_display);
+# endif
+# if defined(HAVE_SIGALTSTACK) || defined(HAVE_SIGSTACK)
+    vim_free(signal_stack);
+    signal_stack = NULL;
+# endif
+# ifdef FEAT_TITLE
+    vim_free(oldtitle);
+    vim_free(oldicon);
+# endif
 }
 #endif