1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 09:12:24 +00:00

Inhibit the Serial configuration panel in mid-session if the session

isn't a serial one. In particular, this causes pterm not to fail an
assertion if you select `Change Settings'. Ahem.

[originally from svn r6831]
This commit is contained in:
Simon Tatham 2006-08-29 09:18:09 +00:00
parent 4c460326d9
commit d38ea07616
6 changed files with 12 additions and 9 deletions

View File

@ -2055,7 +2055,7 @@ int do_config_box(const char *title, Config *cfg, int midsession,
ctrlbox = ctrl_new_box(); ctrlbox = ctrl_new_box();
setup_config_box(ctrlbox, midsession, cfg->protocol, protcfginfo); setup_config_box(ctrlbox, midsession, cfg->protocol, protcfginfo);
unix_setup_config_box(ctrlbox, midsession); unix_setup_config_box(ctrlbox, midsession, cfg->protocol);
gtk_setup_config_box(ctrlbox, midsession, window); gtk_setup_config_box(ctrlbox, midsession, window);
gtk_window_set_title(GTK_WINDOW(window), title); gtk_window_set_title(GTK_WINDOW(window), title);

View File

@ -105,7 +105,7 @@ void uxsel_input_remove(int id);
/* uxcfg.c */ /* uxcfg.c */
struct controlbox; struct controlbox;
void unix_setup_config_box(struct controlbox *b, int midsession); void unix_setup_config_box(struct controlbox *b, int midsession, int protocol);
/* gtkcfg.c */ /* gtkcfg.c */
void gtk_setup_config_box(struct controlbox *b, int midsession, void *window); void gtk_setup_config_box(struct controlbox *b, int midsession, void *window);

View File

@ -10,7 +10,7 @@
#include "dialog.h" #include "dialog.h"
#include "storage.h" #include "storage.h"
void unix_setup_config_box(struct controlbox *b, int midsession) void unix_setup_config_box(struct controlbox *b, int midsession, int protocol)
{ {
struct controlset *s; struct controlset *s;
union control *c; union control *c;
@ -75,5 +75,6 @@ void unix_setup_config_box(struct controlbox *b, int midsession)
* space parity are not conveniently supported, and neither is * space parity are not conveniently supported, and neither is
* DSR/DTR flow control. * DSR/DTR flow control.
*/ */
ser_setup_config_box(b, midsession, 0x07, 0x07); if (!midsession || (protocol == PROT_SERIAL))
ser_setup_config_box(b, midsession, 0x07, 0x07);
} }

View File

@ -31,7 +31,7 @@ static void help_handler(union control *ctrl, void *dlg,
} }
void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
int midsession) int midsession, int protocol)
{ {
struct controlset *s; struct controlset *s;
union control *c; union control *c;
@ -375,5 +375,6 @@ void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
/* /*
* Serial back end is available on Windows. * Serial back end is available on Windows.
*/ */
ser_setup_config_box(b, midsession, 0x1F, 0x0F); if (!midsession || (protocol == PROT_SERIAL))
ser_setup_config_box(b, midsession, 0x1F, 0x0F);
} }

View File

@ -653,7 +653,7 @@ int do_config(void)
ctrlbox = ctrl_new_box(); ctrlbox = ctrl_new_box();
setup_config_box(ctrlbox, FALSE, 0, 0); setup_config_box(ctrlbox, FALSE, 0, 0);
win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), FALSE); win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), FALSE, 0);
dp_init(&dp); dp_init(&dp);
winctrl_init(&ctrls_base); winctrl_init(&ctrls_base);
winctrl_init(&ctrls_panel); winctrl_init(&ctrls_panel);
@ -685,7 +685,8 @@ int do_reconfig(HWND hwnd, int protcfginfo)
ctrlbox = ctrl_new_box(); ctrlbox = ctrl_new_box();
setup_config_box(ctrlbox, TRUE, cfg.protocol, protcfginfo); setup_config_box(ctrlbox, TRUE, cfg.protocol, protcfginfo);
win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), TRUE); win_setup_config_box(ctrlbox, &dp.hwnd, (help_path != NULL), TRUE,
cfg.protocol);
dp_init(&dp); dp_init(&dp);
winctrl_init(&ctrls_base); winctrl_init(&ctrls_base);
winctrl_init(&ctrls_panel); winctrl_init(&ctrls_panel);

View File

@ -373,7 +373,7 @@ void dp_cleanup(struct dlgparam *dp);
* Exports from wincfg.c. * Exports from wincfg.c.
*/ */
void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help, void win_setup_config_box(struct controlbox *b, HWND *hwndp, int has_help,
int midsession); int midsession, int protocol);
/* /*
* Exports from windlg.c. * Exports from windlg.c.