UltraVNC sends a new non-incr. FUR when it gets a DesktopSize rect, and
TightVNC drops the framebuffer, so we can't realistically send it every
non-incr FUR. Besides, the client needs to keep track of framebuffer
dimensions anyway.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3786 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx
index fdcea88..cc7c9e8 100644
--- a/common/rfb/VNCSConnectionST.cxx
+++ b/common/rfb/VNCSConnectionST.cxx
@@ -522,9 +522,15 @@
     // Non-incremental update - treat as if area requested has changed
     updates.add_changed(reqRgn);
     server->comparer->add_changed(reqRgn);
-    // And update the clients view of screen layout
-    writer()->writeSetDesktopSize();
+
+    // And send the screen layout to the client (which, unlike the
+    // framebuffer dimensions, the client doesn't get during init)
     writer()->writeExtendedDesktopSize();
+
+    // We do not send a DesktopSize since it only contains the
+    // framebuffer size (which the client already should know) and
+    // because some clients don't handle extra DesktopSize events
+    // very well.
   }
 }