After some discussion on rfbproto, it was decided that a server should
not send both EDS and DS at the same time. Our server was extra broken
in that it sent only DS to a client asking for both. :/

This should be applied on trunk and for 1.0.0.

Index: VNCSConnectionST.cxx
===================================================================
--- VNCSConnectionST.cxx        (revision 3795)
+++ VNCSConnectionST.cxx        (working copy)
@@ -171,10 +171,12 @@
       cp.height = server->pb->height();
       cp.screenLayout = server->screenLayout;
       if (state() == RFBSTATE_NORMAL) {
-        if (!writer()->writeSetDesktopSize() &&
-            !writer()->writeExtendedDesktopSize()) {
-          close("Client does not support desktop resize");
-          return;
+        // We should only send EDS to client asking for both
+        if (!writer()->writeExtendedDesktopSize()) {
+          if (!writer()->writeSetDesktopSize()) {
+            close("Client does not support desktop resize");
+            return;
+          }
         }
       }
     }


Rgds
-- 
Pierre Ossman            OpenSource-based Thin Client Technology
System Developer         Telephone: +46-13-21 46 00
Cendio AB                Web: http://www.cendio.com

Attachment: signature.asc
Description: PGP signature

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables 
unlimited royalty-free distribution of the report engine 
for externally facing server and web deployment. 
http://p.sf.net/sfu/businessobjects
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to