From 53125a76e9f7a1f8de65c802fba2741559345788 Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Wed, 22 Apr 2009 15:37:51 +0000 Subject: [PATCH] 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 --- common/rfb/VNCSConnectionST.cxx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx index fdcea883..cc7c9e8e 100644 --- a/common/rfb/VNCSConnectionST.cxx +++ b/common/rfb/VNCSConnectionST.cxx @@ -522,9 +522,15 @@ void VNCSConnectionST::framebufferUpdateRequest(const Rect& r,bool incremental) // 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. } } -- 2.39.5