summaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-02-14 19:13:43 +0100
committerBram Moolenaar <Bram@vim.org>2016-02-14 19:13:43 +0100
commit7b3ca76a451b10d238ef946f3231762e0bd988e9 (patch)
treed05c9be4dafb1e5ae77eb76325df7cc40fda2e52 /src/os_unix.c
parent0727d362b4dad83d9fdf1caba074213e77e0aa49 (diff)
downloadvim-git-7b3ca76a451b10d238ef946f3231762e0bd988e9.tar.gz
patch 7.4.1318v7.4.1318
Problem: Channel with pipes doesn't work in GUI. Solution: Register input handlers for pipes.
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 01b5a9312..65a4b9265 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5116,10 +5116,15 @@ mch_start_job(char **argv, job_T *job)
close(fd_err[1]);
channel_set_pipes(channel, fd_in[1], fd_out[0], fd_err[0]);
channel_set_job(channel, job);
+#ifdef FEAT_GUI
+ channel_gui_register(channel);
+#endif
return;
failed:
+ if (channel != NULL)
+ channel_free(channel);
if (fd_in[0] >= 0)
{
close(fd_in[0]);