1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00

Fix failure to display the specials menu.

I reworked the code for this at the last moment while preparing the
Big Refactoring, having decided my previous design was overcomplicated
and introducing an argument parameter (commit f4fbaa1bd) would be
simpler.

I carefully checked after the rework that specials manufactured by the
code itself (e.g. SS_PING) came through OK, but apparently the one
thing I _didn't_ test after the rework was that the specials list was
actually returned correctly from ssh_get_specials to be incorporated
into the GUI.

In fact one stray if statement - both redundant even if it had been
right, and also tested the wrong pointer - managed to arrange that
when ssh->specials is NULL, it could never be overwritten by anything
non-NULL. And of course it starts off initialised to NULL. Oops.
This commit is contained in:
Simon Tatham 2018-09-25 17:18:54 +01:00
parent e4ee11d4c2
commit da1e560b42

3
ssh.c
View File

@ -966,9 +966,6 @@ static const SessionSpecial *ssh_get_specials(Backend *be)
if (ssh->base_layer)
ssh_ppl_get_specials(ssh->base_layer, ssh_add_special, &ctx);
if (!ssh->specials)
return NULL;
if (ctx.specials) {
/* If the list is non-empty, terminate it with a SS_EXITMENU. */
ssh_add_special(&ctx, NULL, SS_EXITMENU, 0);