From 47f18e575da762733c19e9f499472ba42f478df8 Mon Sep 17 00:00:00 2001 From: dscho Date: Tue, 16 Oct 2001 19:29:49 +0000 Subject: [PATCH] font errors, requestedRegion bug --- TODO | 3 +++ font.c | 4 ++-- rfbserver.c | 10 ++++++---- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/TODO b/TODO index 3b4f99d..16bac26 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,9 @@ immediate: ---------- +DeferUpdateTime (timing problems!) +cursor drawing: set optional grain to mark bigger rectangles as drawn (else + you end up with thousands of one-pixel-rectangles to encode). selectbox: scroll bars documentation hint that to mark very tiny regions as diff --git a/font.c b/font.c index 680ec33..cb31f7f 100644 --- a/font.c +++ b/font.c @@ -28,7 +28,7 @@ int rfbDrawChar(rfbScreenInfoPtr rfbScreen,rfbFontDataPtr font, memcpy(rfbScreen->frameBuffer+(y+j)*rowstride+(x+i)*bpp,colour,bpp); d<<=1; } - if((i&7)!=0) data++; + /* if((i&7)!=0) data++; */ } return(width); } @@ -90,7 +90,7 @@ int rfbDrawCharWithClip(rfbScreenInfoPtr rfbScreen,rfbFontDataPtr font, } d<<=1; } - //if((i&7)==0) data++; + /* if((i&7)==0) data++; */ data += extra_bytes; } return(width); diff --git a/rfbserver.c b/rfbserver.c index e8c913d..3c3c858 100644 --- a/rfbserver.c +++ b/rfbserver.c @@ -871,7 +871,7 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion) sraRect rect; int nUpdateRegionRects; rfbFramebufferUpdateMsg *fu = (rfbFramebufferUpdateMsg *)cl->updateBuf; - sraRegionPtr updateRegion,updateCopyRegion; + sraRegionPtr updateRegion,updateCopyRegion,tmpRegion; int dx, dy; Bool sendCursorShape = FALSE; @@ -932,8 +932,10 @@ rfbSendFramebufferUpdate(cl, givenUpdateRegion) updateCopyRegion = sraRgnCreateRgn(cl->copyRegion); sraRgnAnd(updateCopyRegion,cl->requestedRegion); - sraRgnOffset(cl->requestedRegion,cl->copyDX,cl->copyDY); - sraRgnAnd(updateCopyRegion,cl->requestedRegion); + tmpRegion = sraRgnCreateRgn(cl->requestedRegion); + sraRgnOffset(tmpRegion,cl->copyDX,cl->copyDY); + sraRgnAnd(updateCopyRegion,tmpRegion); + sraRgnDestroy(tmpRegion); dx = cl->copyDX; dy = cl->copyDY; @@ -957,7 +959,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;