X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/cb2708d3db03691c70ca702a35ba960c3e0cba98..2ff340bdd3941537211af374feaa6023a20529be:/windows/windlg.c diff --git a/windows/windlg.c b/windows/windlg.c index db1ef2f3..beedeb2c 100644 --- a/windows/windlg.c +++ b/windows/windlg.c @@ -322,7 +322,7 @@ static HTREEITEM treeview_insert(struct treeview_faff *faff, newitem = TreeView_InsertItem(faff->treeview, &ins); if (level > 0) TreeView_Expand(faff->treeview, faff->lastat[level - 1], - TVE_EXPAND); + (level > 1 ? TVE_COLLAPSE : TVE_EXPAND)); faff->lastat[level] = newitem; for (i = level + 1; i < 4; i++) faff->lastat[i] = NULL; @@ -786,7 +786,7 @@ int verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, if (ret == 0) /* success - key matched OK */ return 1; - if (ret == 2) { /* key was different */ + else if (ret == 2) { /* key was different */ int mbret; char *text = dupprintf(wrongmsg, appname, keytype, fingerprint, appname); @@ -802,9 +802,7 @@ int verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, return 1; } else if (mbret == IDNO) return 1; - return 0; - } - if (ret == 1) { /* key was absent */ + } else if (ret == 1) { /* key was absent */ int mbret; char *text = dupprintf(absentmsg, keytype, fingerprint, appname); char *caption = dupprintf(mbtitle, appname); @@ -819,8 +817,8 @@ int verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, return 1; } else if (mbret == IDNO) return 1; - return 0; } + return 0; /* abandon the connection */ } /* @@ -843,6 +841,7 @@ int askalg(void *frontend, const char *algtype, const char *algname, title = dupprintf(mbtitle, appname); mbret = MessageBox(NULL, message, title, MB_ICONWARNING | MB_YESNO | MB_DEFBUTTON2); + socket_reselect_all(); sfree(message); sfree(title); if (mbret == IDYES) @@ -875,6 +874,8 @@ int askappend(void *frontend, Filename filename, mbret = MessageBox(NULL, message, mbtitle, MB_ICONQUESTION | MB_YESNOCANCEL | MB_DEFBUTTON3); + socket_reselect_all(); + sfree(message); sfree(mbtitle); @@ -916,6 +917,8 @@ void old_keyfile_warning(void) MessageBox(NULL, msg, title, MB_OK); + socket_reselect_all(); + sfree(msg); sfree(title); }