simon-git: putty (main): Simon Tatham

Commits to Tartarus hosted VCS tartarus-commits at lists.tartarus.org
Thu Jul 1 19:03:34 BST 2021


TL;DR:
  2029aa55 Restore missing screen updates from scrollbar buttons.
  c714dfc9 Close all thread handles returned from CreateThread.
  058e390a Avoid crash in MIT Kerberos for Windows on session restart.

Repository:     https://git.tartarus.org/simon/putty.git
On the web:     https://git.tartarus.org/?p=simon/putty.git
Branch updated: main
Committer:      Simon Tatham <anakin at pobox.com>
Date:           2021-07-01 19:03:34

commit 2029aa55c22631bd1c46df0c7ce817770d38d203
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=2029aa55c22631bd1c46df0c7ce817770d38d203;hp=6246ff3f0a08c3d551f59c07813fee4640a67926
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu Jul 1 18:25:56 2021 +0100

    Restore missing screen updates from scrollbar buttons.
    
    In commit f69cf86a61a8109, I added a call to term_update that happens
    when we receive WM_VSCROLL / SB_THUMBPOSITION in the subsidiary
    message loop that Windows creates during the handling of WM_SYSCOMMAND
    / SC_VSCROLL. The effect was that interactive dragging of the
    scrollbar now redraws the window at every step, whereas previously it
    didn't.
    
    A user just pointed out that if you click on one of the scrollbar end
    buttons and hold it down until it begins emulating key repeat, the
    same bug occurs: the window isn't redrawn until you release the mouse
    button and the subsidiary message loop ends.
    
    This commit extends the previous fix to cover all of the WM_VSCROLL
    subtypes, instead of just SB_THUMBPOSITION and SB_THUMBTRACK. Redraws
    while holding down those scrollbar buttons now work again.

 windows/window.c | 93 +++++++++++++++++++++++++++-----------------------------
 1 file changed, 45 insertions(+), 48 deletions(-)

commit c714dfc936285fb588d047bb71b27cd396af6490
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=c714dfc936285fb588d047bb71b27cd396af6490;hp=2029aa55c22631bd1c46df0c7ce817770d38d203
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu Jul 1 18:30:00 2021 +0100

    Close all thread handles returned from CreateThread.
    
    If you don't, they are permanently leaked. A user points out that this
    is particularly bad in Pageant, with the new named-pipe-based IPC,
    since it will spawn an input and output I/O thread per named pipe
    connection, leading to two handles being leaked every time.

 windows/handle-io.c | 12 ++++++++----
 windows/pageant.c   |  6 ++++--
 windows/puttygen.c  |  6 ++++--
 windows/window.c    |  6 ++++--
 4 files changed, 20 insertions(+), 10 deletions(-)

commit 058e390ab5d40e5322b2d082c0e15b0dbde2c1d5
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=058e390ab5d40e5322b2d082c0e15b0dbde2c1d5;hp=c714dfc936285fb588d047bb71b27cd396af6490
Author: Simon Tatham <anakin at pobox.com>
Date:   Thu Jul 1 18:59:44 2021 +0100

    Avoid crash in MIT Kerberos for Windows on session restart.
    
    A user reports that if you have MIT KfW loaded, and your PuTTY session
    terminates without the PuTTY process exiting, and you select 'Restart
    Session' from the menu, then a crash occurs inside the Kerberos
    library itself. Scuttlebutt on the Internet suggested this might be to
    do with unloading and then reloading the DLL within the process
    lifetime, which indeed we were doing.
    
    Now we avoid doing that for the KfW library in particular, by keeping
    a tree234 of module handles marked 'never unload this'.
    
    This is a workaround at best, but it seems to stop the problem
    happening in my own tests.

 windows/gss.c | 45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)



More information about the tartarus-commits mailing list