diff options
-rw-r--r-- | common/rfb/ServerCore.cxx | 3 | ||||
-rw-r--r-- | common/rfb/VNCSConnectionST.cxx | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/common/rfb/ServerCore.cxx b/common/rfb/ServerCore.cxx index 6606b14c..43586171 100644 --- a/common/rfb/ServerCore.cxx +++ b/common/rfb/ServerCore.cxx @@ -94,8 +94,7 @@ rfb::BoolParameter rfb::Server::queryConnect false); // TightVNC-specific parameters -// FIXME: Disable special video handling when this parameter is 0. rfb::IntParameter rfb::Server::videoPriority ("VideoPriority", - "Priority of sending updates for video area (0..8)", + "Priority of sending video updates (0..8)", 2, 0, 8); diff --git a/common/rfb/VNCSConnectionST.cxx b/common/rfb/VNCSConnectionST.cxx index 8c52bcbb..6bc1a91d 100644 --- a/common/rfb/VNCSConnectionST.cxx +++ b/common/rfb/VNCSConnectionST.cxx @@ -565,6 +565,15 @@ void VNCSConnectionST::writeFramebufferUpdate() server->checkUpdate(); } + // If VideoPriority is 0, convert video updates to normal updates. + + if (rfb::Server::videoPriority == 0) { + // Region videoRegion(updates.getVideoArea()); + // updates.add_changed(videoRegion); + Rect nullRect(0, 0, 0, 0); + updates.set_video_area(nullRect); + } + // Get the lists of updates. Prior to exporting the data to the `ui' object, // getUpdateInfo() will normalize the `updates' object such way that its // `changed', `copied' and `video_area' regions would not intersect. |