From b08600c44afcea44391d6a351e5b4107a1d8309d Mon Sep 17 00:00:00 2001 From: simon Date: Mon, 28 Aug 2006 19:09:28 +0000 Subject: [PATCH] Apparently MsgWaitForMultipleObjects doesn't always return the values one might expect, which means that GetMessage() was occasionally blocking the process. That appears to be the last of the annoying data loss issues, so I think the Windows serial back end actually looks vaguely reliable now. Phew. git-svn-id: svn://svn.tartarus.org/sgt/putty@6830 cda61777-01e9-0310-a592-d414129be87e --- windows/window.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/windows/window.c b/windows/window.c index 81a28aa4..4855de54 100644 --- a/windows/window.c +++ b/windows/window.c @@ -836,9 +836,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) sfree(handles); - if (GetMessage(&msg, NULL, 0, 0) != 1) - break; - do { + while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) goto finished; /* two-level break */ @@ -852,7 +850,7 @@ int WINAPI WinMain(HINSTANCE inst, HINSTANCE prev, LPSTR cmdline, int show) */ if (must_close_session) close_session(); - } while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)); + } /* The messages seem unreliable; especially if we're being tricky */ term_set_focus(term, GetForegroundWindow() == hwnd); -- 2.11.0