1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-09 17:38:00 +00:00
putty-source/unix
Simon Tatham 296b6291d3 GTK: fix a crash when clicking Cancel on Change Settings.
I only observed this in the GTK1 build, but I don't know for sure it
can't happen in other situations, so there's no reason not to be
careful.

What seems to happen is that when the user clicks Cancel on the Change
Settings dialog box, we call gtk_widget_destroy on the window, which
emits the "destroy" signal on the window, our handler for which frees
the whole dlgparam. But _then_ GTK goes through and cleans up all the
sub-widgets of the dialog box, and some of those generate extra
events. In particular, destroying a list box is done by first deleting
all the list entries - and if one of those is selected, the list box's
selection changes, triggering an event which calls our callback that
tries to look up the control in the dlgparam we just freed.

My simple workaround is to defer actually freeing the dlgparam, via a
toplevel callback. Then it's still lying around empty while all those
random events are firing.
2024-12-07 19:49:20 +00:00
..
stubs Add lots more stub versions of standard code modules. 2023-05-29 15:54:34 +01:00
utils Add and use cmdline_arg_to_filename(). 2024-09-26 11:30:07 +01:00
agent-client.c Formatting: realign labels and case/default statements. 2022-08-03 20:48:46 +01:00
agent-socket.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
askpass.c Rewrite some manual char-buffer-handling code. 2022-09-14 16:10:29 +01:00
cliloop.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
CMakeLists.txt New abstraction for command-line arguments. 2024-09-26 11:30:07 +01:00
columns.c GTK: fix y computation in align_next_to. 2022-09-06 11:39:01 +01:00
columns.h Improve the align_next_to mechanism. 2022-05-05 19:04:34 +01:00
config-gtk.c Replace integer context2 encoding in conf_editbox_handler. 2022-09-01 20:43:23 +01:00
config-unix.c Restructure dlgcontrol as a struct with an anon union. 2022-05-01 10:00:32 +01:00
console.c Merge tag '0.80'. 2023-12-18 14:47:48 +00:00
dialog.c GTK: fix a crash when clicking Cancel on Change Settings. 2024-12-07 19:49:20 +00:00
fd-socket.c Centralise stub plug/socket functions. 2024-06-29 12:19:35 +01:00
gss.c Unix static GSSAPI: fix an uninitialised structure field. 2022-09-17 07:55:05 +01:00
gtk-common.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
gtkcompat.h Fix build failure on Debian bullseye from last commit. 2024-09-08 19:05:45 +01:00
gtkmisc.h Convert a lot of 'int' variables to 'bool'. 2018-11-03 13:45:00 +00:00
keygen-noise.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
local-proxy.c New facility, platform_start_subprocess. 2022-09-01 20:43:23 +01:00
main-gtk-application.c Fix build failure on Debian bullseye from last commit. 2024-09-08 19:05:45 +01:00
main-gtk-simple.c Unix PuTTY/pterm: remove a premature cmdline_arg_list_free. 2024-11-25 19:47:36 +00:00
network.c Fix build failures with NO_IPV6 defined. 2024-11-28 18:28:43 +00:00
no-gtk.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
noaskpass.c Better header comment for noaskpass.c. 2022-05-20 19:35:59 +01:00
noise.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
osxlaunch.c osxlaunch: stop setting DYLD_LIBRARY_PATH. 2017-12-20 10:04:02 +00:00
pageant.c Unix Pageant: fix usage message about --encrypted. 2024-11-17 14:30:08 +00:00
peerinfo.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
platform.h New abstraction for command-line arguments. 2024-09-26 11:30:07 +01:00
plink.c Switch CONF_remote_cmd to being STR_AMBI. 2024-09-26 11:30:07 +01:00
printing.c Rename 'ret' variables passed from allocation to return. 2022-09-14 16:10:29 +01:00
procnet.c Generalise strbuf_catf() into put_fmt(). 2021-11-19 11:32:47 +00:00
psocks.c New abstraction for command-line arguments. 2024-09-26 11:30:07 +01:00
psusan.c Pass the calling Socket to plug_log. 2024-06-29 12:00:12 +01:00
pterm-config-xpm.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pterm-xpm.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pterm.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
pterm.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
pterm.plist Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
pty.c Rewrite some manual char-buffer-handling code. 2022-09-14 16:10:29 +01:00
putty-config-xpm.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
putty-xpm.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
putty.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
putty.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
putty.plist Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
serial.c Add memsets after allocation of all Backend implementors. 2021-10-30 17:28:28 +01:00
sftp.c New abstraction for command-line arguments. 2024-09-26 11:30:07 +01:00
sftpserver.c Fix build failure on systems without fstatat. 2023-04-19 14:28:36 +01:00
sharing.c Pass an Interactor to new_connection(). 2021-10-30 18:19:56 +01:00
storage.c Rewrite some manual char-buffer-handling code. 2022-09-14 16:10:29 +01:00
unicode.c Rework Unicode conversion APIs to use a BinarySink. 2024-09-26 11:30:07 +01:00
unifont.c Rework Unicode conversion APIs to use a BinarySink. 2024-09-26 11:30:07 +01:00
unifont.h Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
uppity.c Pass the calling Socket to plug_log. 2024-06-29 12:00:12 +01:00
uxsel.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
window.c Unix PuTTY/pterm: fix UB with small keypad. 2024-12-04 17:23:03 +00:00
x11.c Make x11_get_auth_from_authfile take a Filename. 2023-05-29 15:41:50 +01:00
x11misc.h Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00