projects
/
u
/
mdw
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sbcsgen.pl uses 'select' to point Perl at a different default output
[u/mdw/putty]
/
unix
/
gtkwin.c
diff --git
a/unix/gtkwin.c
b/unix/gtkwin.c
index
e164076
..
667c72b
100644
(file)
--- a/
unix/gtkwin.c
+++ b/
unix/gtkwin.c
@@
-1361,7
+1361,7
@@
void frontend_keypress(void *handle)
* any keypress.
*/
if (inst->exited)
* any keypress.
*/
if (inst->exited)
- exit(0);
+
cleanup_
exit(0);
}
static gint idle_exit_func(gpointer data)
}
static gint idle_exit_func(gpointer data)
@@
-3307,7
+3307,7
@@
void dup_session_menuitem(GtkMenuItem *item, gpointer gdata)
}
sprintf(option, "---[%d,%d]", pipefd[0], size);
}
sprintf(option, "---[%d,%d]", pipefd[0], size);
-
fcntl(pipefd[0], F_SETFD, 0
);
+
noncloexec(pipefd[0]
);
fork_and_exec_self(inst, pipefd[1], option, NULL);
close(pipefd[0]);
fork_and_exec_self(inst, pipefd[1], option, NULL);
close(pipefd[0]);
@@
-3344,7
+3344,6
@@
int read_dupsession_data(struct gui_data *inst, Conf *conf, char *arg)
}
size_used = conf_deserialise(conf, data, size);
}
size_used = conf_deserialise(conf, data, size);
- sfree(data);
if (use_pty_argv && size > size_used) {
int n = 0;
i = size_used;
if (use_pty_argv && size > size_used) {
int n = 0;
i = size_used;
@@
-3371,6
+3370,8
@@
int read_dupsession_data(struct gui_data *inst, Conf *conf, char *arg)
}
}
}
}
+ sfree(data);
+
return 0;
}
return 0;
}