From: simon Date: Wed, 2 Mar 2011 18:52:03 +0000 (+0000) Subject: Set the 'must_close_session' flag at the end of close_session(), so X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/4f1aa9a9cacee7dffea752607b5ad6c254f3e28b Set the 'must_close_session' flag at the end of close_session(), so that we won't keep calling close_session() again the next time we go round the message loop. Should fix unclean-close-hang. Thanks to Simon Coleman for debugging. git-svn-id: svn://svn.tartarus.org/sgt/putty@9115 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/windows/window.c b/windows/window.c index f721ed97..c8c2b56d 100644 --- a/windows/window.c +++ b/windows/window.c @@ -311,6 +311,15 @@ static void close_session(void) InsertMenu(popup_menus[i].menu, IDM_DUPSESS, MF_BYCOMMAND | MF_ENABLED, IDM_RESTART, "&Restart Session"); } + + /* + * Unset the 'must_close_session' flag, or else we'll come + * straight back here the next time we go round the main message + * loop - which, worse still, will be immediately (without + * blocking) because we've just triggered a WM_SETTEXT by the + * window title change above. + */ + must_close_session = FALSE; } int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show)