]> source.dussan.org Git - tigervnc.git/commitdiff
Cork the proper output stream in the client 1488/head
authorPierre Ossman <ossman@cendio.se>
Tue, 28 Jun 2022 12:51:13 +0000 (14:51 +0200)
committerPierre Ossman <ossman@cendio.se>
Tue, 28 Jun 2022 12:51:13 +0000 (14:51 +0200)
The socket might not be the stream actually used, e.g. when we are using
TLS. Make sure we cork the proper stream to get all the benefits of
corking.

vncviewer/CConn.cxx

index 618c5c0d346fa6c25cea1e9126edba26aab9ee35..c184fda0a26fbce844d4473509f30918833b72b4 100644 (file)
@@ -247,7 +247,7 @@ void CConn::socketEvent(FL_SOCKET fd, void *data)
     // We might have been called to flush unwritten socket data
     cc->sock->outStream().flush();
 
-    cc->sock->outStream().cork(true);
+    cc->getOutStream()->cork(true);
 
     // processMsg() only processes one message, so we need to loop
     // until the buffers are empty or things will stall.
@@ -263,7 +263,7 @@ void CConn::socketEvent(FL_SOCKET fd, void *data)
         break;
     }
 
-    cc->sock->outStream().cork(false);
+    cc->getOutStream()->cork(false);
   } catch (rdr::EndOfStream& e) {
     vlog.info("%s", e.str());
     if (!cc->desktop) {