From 914f7b71c5af96add7d99fd0dcdcf9ee33099cd6 Mon Sep 17 00:00:00 2001
From: dscho <dscho>
Date: Tue, 25 Jan 2005 12:58:09 +0000
Subject: 10l: really fix preferredEncoding set from outside

---
 TODO                     | 1 -
 libvncserver/rfbserver.c | 3 ++-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/TODO b/TODO
index af88368..f5688c3 100644
--- a/TODO
+++ b/TODO
@@ -5,7 +5,6 @@ VisualNaCro testing
 test IRIX -overlay (x11vnc)
 java vncviewer doesn't do colour cursors?
 MinGW32 doesn't do fcntl on sockets; use setsockopt instead...
-if preferredEncoding is set outside of libvncserver, don't override it.
 make libvncclient threadsafe (static zlib buffer -> rfbClient*)
 make corre work again (libvncclient or libvncserver?)
 implement zrle in libvncclient
diff --git a/libvncserver/rfbserver.c b/libvncserver/rfbserver.c
index 79670bb..f4bc42b 100644
--- a/libvncserver/rfbserver.c
+++ b/libvncserver/rfbserver.c
@@ -283,7 +283,7 @@ rfbNewTCPOrUDPClient(rfbScreen,sock,isUDP)
       cl->reverseConnection = FALSE;
       cl->readyForSetColourMapEntries = FALSE;
       cl->useCopyRect = FALSE;
-      cl->preferredEncoding = rfbEncodingRaw;
+      cl->preferredEncoding = -1;
       cl->correMaxWidth = 48;
       cl->correMaxHeight = 48;
 #ifdef LIBVNCSERVER_HAVE_LIBZ
@@ -1331,6 +1331,7 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion)
                                       + w * (cl->format.bitsPerPixel / 8) * h);
 
         switch (cl->preferredEncoding) {
+	case -1:
         case rfbEncodingRaw:
             if (!rfbSendRectEncodingRaw(cl, x, y, w, h))
 	        goto updateFailed;
-- 
cgit v1.2.3

