X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/b7a189f38294c745ae4ea6efb55891c8196e275b..6f1e7b78af0f9c4c502609392f62771cf2528d8f:/settings.c diff --git a/settings.c b/settings.c index ce21d2c2..6f488d82 100644 --- a/settings.c +++ b/settings.c @@ -321,11 +321,17 @@ void save_settings(char *section, int do_host, Config * cfg) void load_settings(char *section, int do_host, Config * cfg) { - int i; - char prot[10]; void *sesskey; sesskey = open_settings_r(section); + load_open_settings(sesskey, do_host, cfg); + close_settings_r(sesskey); +} + +void load_open_settings(void *sesskey, int do_host, Config *cfg) +{ + int i; + char prot[10]; cfg->ssh_subsys = 0; /* FIXME: load this properly */ cfg->remote_cmd_ptr = cfg->remote_cmd; @@ -592,8 +598,17 @@ void load_settings(char *section, int do_host, Config * cfg) gppi(sesskey, "BCE", 1, &cfg->bce); gppi(sesskey, "BlinkText", 0, &cfg->blinktext); gppi(sesskey, "X11Forward", 0, &cfg->x11_forward); +#ifdef _WINDOWS gpps(sesskey, "X11Display", "localhost:0", cfg->x11_display, sizeof(cfg->x11_display)); +#else + { + /* On Unix, the default X display should simply be $DISPLAY. */ + char *disp = getenv("DISPLAY"); + gpps(sesskey, "X11Display", disp, cfg->x11_display, + sizeof(cfg->x11_display)); + } +#endif gppi(sesskey, "LocalPortAcceptAll", 0, &cfg->lport_acceptall); gppi(sesskey, "RemotePortAcceptAll", 0, &cfg->rport_acceptall); @@ -637,8 +652,6 @@ void load_settings(char *section, int do_host, Config * cfg) gppi(sesskey, "ScrollbarOnLeft", 0, &cfg->scrollbar_on_left); gpps(sesskey, "BoldFont", "", cfg->boldfont, sizeof(cfg->boldfont)); gppi(sesskey, "ShadowBoldOffset", 1, &cfg->shadowboldoffset); - - close_settings_r(sesskey); } void do_defaults(char *session, Config * cfg)