On Wed, 22 Dec 2004, James Weatherall wrote: > Support for "local cursor rendering" is not unique to TightVNC, it's a > feature provided as standard as part of VNC 4.
Yes, but the VNC4 implementation is different. If I understand the code correctly, it takes care not to send "unsolicited" FUs. For example, here's the comment in SMsgWriter.h: // Like setDestkopSize, we can't just write out a setCursor message // immediately on a V3 writer. Instead of calling writeSetCursor() // directly, you must call cursorChange(), and then invoke writeSetCursor() // in response to the writeSetCursorCallback() callback. For a V3 writer // this will happen when the next update is sent. RealVNC 3.X does not support local cursors, right? > What is the relevance of the code fragment from sprite.c that you refer to > below? It shows that Xvnc from TightVNC 1.2.9 sends a cursor update as soon as it happens, without taking care to put it into the next FU. > There's no reason why fixing the cursor updating bug in TightVNC should have > affected sending of updates in any way - a cursor update is just a > particular special case of a normal framebuffer update. Can you provide a > link to the code in TightVNC 1.2.9 that you think is at fault? Take a look at rfbDisplayCursor at http://cvs.sourceforge.net/viewcvs.py/vnc-tight/vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/sprite.c?view=markup. As I understand it, it's incorrect to call rfbSendFramebufferUpdate() directly; that would result in a FU that doesn't correspond to any FUR. > It is *much* more likely that you have broken your "modified" viewer in some > way. Can you provide a patch file containing all the diffs between your > modified viewer and the standard one? It's all in the TightVNC CVS: http://cvs.sourceforge.net/viewcvs.py/vnc-tight/tightvnc/. The code that changes from truecolor to lowcolor when the bandwidth is low is currently #ifdefed out, though. See comment in CConn.cxx. It's a bit tricky to trigger this bug, though. You'll need to run VNC over a slow connection and have a lot of cursor updates going on, to make sure a cursor update happens in the middle of a SetPixelFormat. -- Peter Estrand Chief Developer Cendio www.thinlinc.com Teknikringen 3 www.cendio.se 583 30 Linkvping Phone: +46-13-21 46 00 _______________________________________________ VNC-List mailing list [EMAIL PROTECTED] To remove yourself from the list visit: http://www.realvnc.com/mailman/listinfo/vnc-list