diff options
author | dscho <dscho> | 2002-10-29 16:04:24 +0000 |
---|---|---|
committer | dscho <dscho> | 2002-10-29 16:04:24 +0000 |
commit | d60fda117b1d72d12984a07a4444d36a69da639e (patch) | |
tree | a13e8c1f9f63e5a7c10541729dde603b4425b101 | |
parent | 19c7fc0217e2087af2173974689b9b0f892a18d3 (diff) | |
download | libtdevnc-d60fda11.tar.gz libtdevnc-d60fda11.zip |
fixed severe bug with sending fbupdates
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | main.c | 3 | ||||
-rw-r--r-- | rfbserver.c | 2 |
3 files changed, 4 insertions, 2 deletions
@@ -1,3 +1,4 @@ + fixed severe bug (Const Kaplinsky) got patch from Const Kaplisnky with CursorPosUpdate encoding and some Docs sync'ed with newest RealVNC (ZRLE encoding) a HTTP request for tunnelling was added (to fool strict web proxies) @@ -766,7 +766,8 @@ rfbProcessEvents(rfbScreenInfoPtr rfbScreen,long usec) i = rfbGetClientIterator(rfbScreen); cl=rfbClientIteratorNext(i); while(cl) { - if(cl->sock>=0 && (!cl->onHold) && FB_UPDATE_PENDING(cl)) { + if (cl->sock >= 0 && !cl->onHold && FB_UPDATE_PENDING(cl) && + !sraRgnEmpty(cl->requestedRegion)) { if(cl->screen->rfbDeferUpdateTime == 0) { rfbSendFramebufferUpdate(cl,cl->modifiedRegion); } else if(cl->startDeferring.tv_usec == 0) { diff --git a/rfbserver.c b/rfbserver.c index 9cdda1e..ecbc4e6 100644 --- a/rfbserver.c +++ b/rfbserver.c @@ -1101,7 +1101,7 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion) sraRgnSubtract(cl->modifiedRegion,updateRegion); sraRgnSubtract(cl->modifiedRegion,updateCopyRegion); - /* sraRgnMakeEmpty(cl->requestedRegion); */ + sraRgnMakeEmpty(cl->requestedRegion); sraRgnMakeEmpty(cl->copyRegion); cl->copyDX = 0; cl->copyDY = 0; |