Remove indirect capability attributes
Better to check the actual list of supported encodings directly.
Makes parts more readable, and no risk of getting out of sync.
diff --git a/common/rfb/EncodeManager.cxx b/common/rfb/EncodeManager.cxx
index 9288668..735be07 100644
--- a/common/rfb/EncodeManager.cxx
+++ b/common/rfb/EncodeManager.cxx
@@ -325,7 +325,7 @@
changed = changed_;
- if (!conn->client.useCopyRect)
+ if (!conn->client.supportsEncoding(encodingCopyRect))
changed.assign_union(copied);
/*
@@ -337,7 +337,7 @@
changed.assign_subtract(renderedCursor->getEffectiveRect());
}
- if (conn->client.supportsLastRect)
+ if (conn->client.supportsEncoding(pseudoEncodingLastRect))
nRects = 0xFFFF;
else {
nRects = copied.numRects();
@@ -347,14 +347,14 @@
conn->writer()->writeFramebufferUpdateStart(nRects);
- if (conn->client.useCopyRect)
+ if (conn->client.supportsEncoding(encodingCopyRect))
writeCopyRects(copied, copyDelta);
/*
* We start by searching for solid rects, which are then removed
* from the changed region.
*/
- if (conn->client.supportsLastRect)
+ if (conn->client.supportsEncoding(pseudoEncodingLastRect))
writeSolidRects(&changed, pb);
writeRects(changed, pb);