summaryrefslogtreecommitdiffstats
path: root/libvncclient
diff options
context:
space:
mode:
authorsteven_carr <steven_carr>2006-05-04 16:24:46 +0000
committersteven_carr <steven_carr>2006-05-04 16:24:46 +0000
commit2eded94f7b46a33a290da74cff8e8c8ff4bdbe77 (patch)
tree02361548dc0c1392305a6ad13e7393e04bc527d4 /libvncclient
parent5865f0c4b76a45e630ffc1899016ef99616b6fbf (diff)
downloadlibtdevnc-2eded94f7b46a33a290da74cff8e8c8ff4bdbe77.tar.gz
libtdevnc-2eded94f7b46a33a290da74cff8e8c8ff4bdbe77.zip
UltraVNC with scaling, will send rectangles with a zero W or H
We need to process the rectangle (especially if it a type that contains subrectangles or any kind of compression). UltraVNC should be fixed to prevent these useless rectangles from being sent.
Diffstat (limited to 'libvncclient')
-rw-r--r--libvncclient/rfbproto.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c
index fd6bdee..3a325ee 100644
--- a/libvncclient/rfbproto.c
+++ b/libvncclient/rfbproto.c
@@ -867,11 +867,16 @@ HandleRFBServerMessage(rfbClient* client)
return FALSE;
}
- if (rect.r.h * rect.r.w == 0) {
- rfbClientLog("Zero size rect - ignoring\n");
+ /* UltraVNC with scaling, will send rectangles with a zero W or H
+ *
+ if ((rect.encoding != rfbEncodingTight) &&
+ (rect.r.h * rect.r.w == 0))
+ {
+ rfbClientLog("Zero size rect - ignoring (encoding=%d (0x%08x) %dx, %dy, %dw, %dh)\n", rect.encoding, rect.encoding, rect.r.x, rect.r.y, rect.r.w, rect.r.h);
continue;
}
-
+ */
+
/* If RichCursor encoding is used, we should prevent collisions
between framebuffer updates and cursor drawing operations. */
client->SoftCursorLockArea(client, rect.r.x, rect.r.y, rect.r.w, rect.r.h);