1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-10 01:48:00 +00:00
putty-source/windows
Simon Tatham e790adec4a Don't implicitly load a session if Session pane not active.
If you select an entry in the saved sessions list box, but without
double-clicking to actually load it, and then you hit OK, the config-
box code will automatically load it. That just saves one click in a
common situation.

But in order to load that session, the config-box system first has to
ask the list-box control _which_ session is selected. On Windows, this
causes an assertion failure if the user has switched away from the
Session panel to some other panel of the config box, because when the
list box isn't on screen, its Windows control object is actually
destroyed.

I think a sensible answer is that we shouldn't be doing that implicit
load behaviour in any case if the list box isn't _visible_: silently
loading and launching a session someone selected a lot of UI actions
ago wasn't really the point. So now I make that behaviour only happen
when the list box (i.e. the Session panel) _is_ visible. That should
prevent the assertion failure on Windows, but the UI effect is cross-
platform, applying even on GTK where the control objects for invisible
panels persist and so the assertion failure didn't happen. I think
it's a reasonable UI change to make globally.

In order to implement it, I've had to invent a new query function so
that config.c can tell whether a given control is visible. In order to
do that on GTK, I had to give each control a pointer to the 'selparam'
structure describing its config-box pane, so that query function could
check it against the current one - and in order to do _that_, I had to
first arrange that those 'selparam' structures have stable addresses
from the moment they're first created, which meant adding a layer of
indirection so that the array of them in the top-level dlgparam
structure is now an array of _pointers_ rather than of actual structs.
(That way, realloc half way through config box creation can't
invalidate the important pointer values.)
2019-06-30 15:02:30 +01:00
..
installer.wxs Stop looking for putty.chm alongside the binary. 2019-03-16 12:25:23 +00:00
msiplatform.py Fix platform field in Windows on Arm installers. 2018-08-21 07:17:06 +01:00
pageant.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
pageant.mft Make manifest files work with 64bit builds of PuTTY. 2015-08-15 13:54:44 +01:00
pageant.rc Grow the Windows Licence dialog. 2019-03-18 20:32:55 +00:00
pageants.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
plink.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
pscp.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
pscp.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
psftp.rc `win-versioninfo': all builds of all Windows binaries now contain 2005-10-04 14:13:28 +00:00
putty.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
putty.mft Make manifest files work with 64bit builds of PuTTY. 2015-08-15 13:54:44 +01:00
putty.rc Tweak version string resources for EMBED_CHM. 2019-03-16 12:25:23 +00:00
puttycfg.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
puttygen.ico Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
puttygen.mft Make manifest files work with 64bit builds of PuTTY. 2015-08-15 13:54:44 +01:00
puttygen.rc Grow the Windows Licence dialog. 2019-03-18 20:32:55 +00:00
puttyins.ico `installer.ico' doesn't fit into 8.3, so gets truncated to INSTALLE.ICO in 2007-02-06 22:39:15 +00:00
puttytel.mft Give PuTTYtel its own Windows manifest file. 2018-10-06 11:57:59 +01:00
puttytel.rc Tweak version string resources for EMBED_CHM. 2019-03-16 12:25:23 +00:00
rcstuff.h Remove Makefile.bor. 2017-09-13 19:26:28 +01:00
README-msi.txt Remove note about .CHM on network drives. 2019-03-18 21:53:45 +00:00
sizetip.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
version.rc2 FIXME about Windows resource CHMfulness hint. 2019-03-18 22:02:13 +00:00
website.url Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
win_res.h Stop looking for putty.chm alongside the binary. 2019-03-16 12:25:23 +00:00
win_res.rc2 Grow the Windows Licence dialog. 2019-03-18 20:32:55 +00:00
wincapi.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
wincapi.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
wincfg.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
wincons.c Add an interactive anti-spoofing prompt in Plink. 2019-03-16 12:25:23 +00:00
winctrls.c Don't implicitly load a session if Session pane not active. 2019-06-30 15:02:30 +01:00
windefs.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
windlg.c Extra inline helpers seat_{stdout,stderr}_pl. 2019-03-09 16:21:49 +00:00
window.c Refactor terminal input to remove ldiscucs.c. 2019-06-18 06:58:51 +01:00
wingss.c Fix for MIT KfW and user-specified GSS DLLs. 2019-03-19 23:55:26 +00:00
winhandl.c New array-growing macros: sgrowarray and sgrowarrayn. 2019-02-28 20:15:38 +00:00
winhelp.c Remove most traces of WinHelp support. 2019-03-26 00:27:04 +00:00
winhelp.h Remove most traces of WinHelp support. 2019-03-26 00:27:04 +00:00
winhelp.rc2 Tweak version string resources for EMBED_CHM. 2019-03-16 12:25:23 +00:00
winhsock.c Add further missing delete_callbacks_for_context. 2019-04-20 08:29:23 +01:00
winjump.c Nitpick: fix missing 'void' in one declaration. 2018-11-03 13:45:00 +00:00
winmisc.c Stop looking for putty.chm alongside the binary. 2019-03-16 12:25:23 +00:00
winmiscs.c New Windows utility function: is_console_handle(). 2019-02-20 07:27:13 +00:00
winnet.c Make the w32old build warning-clean. 2019-06-19 06:49:24 +01:00
winnohlp.c Stop looking for putty.chm alongside the binary. 2019-03-16 12:25:23 +00:00
winnoise.c Move random_save_seed() into sshrand.c. 2019-05-05 20:28:00 +01:00
winnojmp.c Fix up svn:eol-style and svn:keywords on new files. 2010-12-27 00:24:48 +00:00
winnpc.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winnps.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winpgen.c Correct "Ed25519" orthography in Windows PuTTYgen. 2019-04-19 15:48:53 +01:00
winpgnt.c Stop using unqualified {GET,PUT}_32BIT. 2019-02-04 20:32:31 +00:00
winpgntc.c Stop using unqualified {GET,PUT}_32BIT. 2019-02-04 20:32:31 +00:00
winplink.c Withdraw support for the DECEDM escape sequence. 2019-06-18 06:58:51 +01:00
winprint.c Make bufchain_prefix return a ptrlen. 2019-02-06 21:46:10 +00:00
winproxy.c Move all extern declarations into header files. 2018-11-03 13:47:29 +00:00
winsecur.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winsecur.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
winser.c Seat method to set the current trust status. 2019-03-16 12:25:23 +00:00
winsftp.c PSCP, PSFTP: don't duplicate slashes in dir_file_cat. 2019-03-09 16:21:49 +00:00
winshare.c Access all hashes and MACs through the standard API. 2019-01-20 17:09:24 +00:00
winstore.c New array-growing macros: sgrowarray and sgrowarrayn. 2019-02-28 20:15:38 +00:00
winstuff.h Stop shipping old WinHelp (.HLP) file. 2019-03-16 12:25:23 +00:00
wintime.c wintime: add a precautionary memset to zero. 2017-02-14 23:25:25 +00:00
winucs.c Start using C99 variadic macros. 2018-12-08 20:48:41 +00:00
winutils.c Use sgrowarray_nm in GetDlgItemText_alloc 2019-03-21 12:57:09 +00:00
winx11.c Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00