]> source.dussan.org Git - tigervnc.git/commitdiff
Avoid losing updates on partial requests
authorPierre Ossman <ossman@cendio.se>
Tue, 9 Jun 2015 14:10:39 +0000 (16:10 +0200)
committerPierre Ossman <ossman@cendio.se>
Tue, 9 Jun 2015 14:10:39 +0000 (16:10 +0200)
A request may be for only part of the frame buffer, meaning we cannot
discard all changes just because we've send out an update. There might
still be modified areas remaining that haven't been requested yet.

common/rfb/VNCSConnectionST.cxx

index f45ee7e0ecd1259cae2a062738a9169e4e75ebbc..c63e6b621f104574605e40eeda610acab2dfd8aa 100644 (file)
@@ -1056,8 +1056,11 @@ void VNCSConnectionST::writeFramebufferUpdate()
 
     writeRTTPing();
 
+    // The request might be for just part of the screen, so we cannot
+    // just clear the entire update tracker.
+    updates.subtract(requested);
+
     requested.clear();
-    updates.clear();
   }
 
 out: