From a8d466c0eaff83f01d1d7b4b105befe513c8cf6d Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 27 Mar 2016 14:10:06 +0100 Subject: [PATCH] Omit the conf_launchable check in pterm Duplicate Session. It won't return true, because pterm's use of conf is a bit nonstandard (it doesn't really bother about the protocol field, and has no use for either host names _or_ serial port filenames). Was affecting both gtkapp and gtkmain based builds. --- unix/gtkapp.c | 3 ++- unix/gtkmain.c | 4 +++- unix/uxpterm.c | 1 + unix/uxputty.c | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/unix/gtkapp.c b/unix/gtkapp.c index 46b38733..249be2d3 100644 --- a/unix/gtkapp.c +++ b/unix/gtkapp.c @@ -192,7 +192,8 @@ extern int cfgbox(Conf *conf); void launch_duplicate_session(Conf *conf) { - assert(conf_launchable(conf)); + extern const int dup_check_launchable; + assert(!dup_check_launchable || conf_launchable(conf)); new_session_window(conf, NULL); } diff --git a/unix/gtkmain.c b/unix/gtkmain.c index 00db3464..a7b4a4e9 100644 --- a/unix/gtkmain.c +++ b/unix/gtkmain.c @@ -582,11 +582,13 @@ int main(int argc, char **argv) block_signal(SIGPIPE, 1); if (argc > 1 && !strncmp(argv[1], "---", 3)) { + extern const int dup_check_launchable; + read_dupsession_data(conf, argv[1]); /* Splatter this argument so it doesn't clutter a ps listing */ smemclr(argv[1], strlen(argv[1])); - assert(conf_launchable(conf)); + assert(!dup_check_launchable || conf_launchable(conf)); need_config_box = FALSE; } else { /* By default, we bring up the config dialog, rather than launching diff --git a/unix/uxpterm.c b/unix/uxpterm.c index 0b848bc7..5d0b5f55 100644 --- a/unix/uxpterm.c +++ b/unix/uxpterm.c @@ -10,6 +10,7 @@ const char *const appname = "pterm"; const int use_event_log = 0; /* pterm doesn't need it */ const int new_session = 0, saved_sessions = 0; /* or these */ +const int dup_check_launchable = 0; /* no need to check host name in conf */ const int use_pty_argv = TRUE; Backend *select_backend(Conf *conf) diff --git a/unix/uxputty.c b/unix/uxputty.c index 4de1583d..6d22fceb 100644 --- a/unix/uxputty.c +++ b/unix/uxputty.c @@ -53,6 +53,7 @@ int cfgbox(Conf *conf) static int got_host = 0; const int use_event_log = 1, new_session = 1, saved_sessions = 1; +const int dup_check_launchable = 1; int process_nonoption_arg(const char *arg, Conf *conf, int *allow_launch) {