diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-05-09 16:11:33 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-05-09 16:11:33 +0200 |
commit | b1062eb23e7a7a8b44f3416e79c3b28aa6c6c229 (patch) | |
tree | 02199582ff24ea5208a6d3d365011b716ace7aff | |
parent | a5565e4189b7c4d3f03d1f5405fc64d5dc00f717 (diff) | |
download | vim-git-b1062eb23e7a7a8b44f3416e79c3b28aa6c6c229.tar.gz |
patch 8.2.0720: occasional exit when encountering an X errorv8.2.0720
Problem: Occasional exit when encountering an X error. (Manfred Lotz)
Solution: On an X error do not exit, do preserve files.
-rw-r--r-- | src/os_unix.c | 13 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/os_unix.c b/src/os_unix.c index f8fe2cb64..8424b11a3 100644 --- a/src/os_unix.c +++ b/src/os_unix.c @@ -1544,10 +1544,15 @@ x_error_handler(Display *dpy, XErrorEvent *error_event) XGetErrorText(dpy, error_event->error_code, (char *)IObuff, IOSIZE); STRCAT(IObuff, _("\nVim: Got X error\n")); - // We cannot print a message and continue, because no X calls are allowed - // here (causes my system to hang). Silently continuing might be an - // alternative... - preserve_exit(); // preserve files and exit + // In the GUI we cannot print a message and continue, because no X calls + // are allowed here (causes my system to hang). Silently continuing seems + // like the best alternative. Do preserve files, in case we crash. + ml_sync_all(FALSE, FALSE); + +#ifdef FEAT_GUI + if (!gui.in_use) +#endif + msg((char *)IObuff); return 0; // NOTREACHED } diff --git a/src/version.c b/src/version.c index 5903a00e2..456516f97 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 720, +/**/ 719, /**/ 718, |