aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/ComparingUpdateTracker.cxx
diff options
context:
space:
mode:
authorConstantin Kaplinsky <const@tightvnc.com>2007-08-31 21:06:53 +0000
committerConstantin Kaplinsky <const@tightvnc.com>2007-08-31 21:06:53 +0000
commit1a845d0a692b49ddf0dad0e8f61983bc45495854 (patch)
treebcbf78404714b0d49bc6220e072946393d708951 /common/rfb/ComparingUpdateTracker.cxx
parent45517c824e38455df9b52998ebed7ea17b5dc9de (diff)
downloadtigervnc-1a845d0a692b49ddf0dad0e8f61983bc45495854.tar.gz
tigervnc-1a845d0a692b49ddf0dad0e8f61983bc45495854.zip
Special handling of a rectangular video area in the UpdateTracker and derived/related classes.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2327 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common/rfb/ComparingUpdateTracker.cxx')
-rw-r--r--common/rfb/ComparingUpdateTracker.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/common/rfb/ComparingUpdateTracker.cxx b/common/rfb/ComparingUpdateTracker.cxx
index ce3d68ae..ec323020 100644
--- a/common/rfb/ComparingUpdateTracker.cxx
+++ b/common/rfb/ComparingUpdateTracker.cxx
@@ -38,6 +38,14 @@ ComparingUpdateTracker::~ComparingUpdateTracker()
void ComparingUpdateTracker::compare()
{
+ // First of all, exclude video area from both changed and copied regions.
+ // We handle video area separately and do not compare it -- we know it's
+ // being changed continuously.
+ if (!video_area.is_empty()) {
+ changed.assign_subtract(video_area);
+ copied.assign_subtract(video_area);
+ }
+
std::vector<Rect> rects;
std::vector<Rect>::iterator i;