From: DRC Date: Thu, 10 Mar 2011 10:21:48 +0000 (+0000) Subject: Re-order the handling of messages to work around an issue whereby the window would... X-Git-Tag: v1.0.90~5 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=7db62a39c227444e2f35eb1fe97495039b456282;p=tigervnc.git Re-order the handling of messages to work around an issue whereby the window would not refresh when TLS was being used git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/branches/1_1@4352 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- diff --git a/win/vncviewer/CConn.cxx b/win/vncviewer/CConn.cxx index 3381ad5c..b067134a 100644 --- a/win/vncviewer/CConn.cxx +++ b/win/vncviewer/CConn.cxx @@ -357,10 +357,7 @@ CConn::blockCallback() { // Wait for socket data, or a message to process DWORD result = MsgWaitForMultipleObjects(1, &sockEvent.h, FALSE, INFINITE, QS_ALLINPUT); - if (result == WAIT_OBJECT_0) { - // - Network event notification. Return control to I/O routine. - break; - } else if (result == WAIT_FAILED) { + if (result == WAIT_FAILED) { // - The wait operation failed - raise an exception throw rdr::SystemException("blockCallback wait error", GetLastError()); } @@ -375,6 +372,10 @@ CConn::blockCallback() { // ToAscii() internally). DispatchMessage(&msg); } + + if (result == WAIT_OBJECT_0) + // - Network event notification. Return control to I/O routine. + break; } // Before we return control to the InStream, reset the network event