Reimplement the deferred update handling, this time in a more robust and
well-behaved manner.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4784 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/win/rfb_win32/SDisplay.cxx b/win/rfb_win32/SDisplay.cxx
index 05ddce3..583b4ab 100644
--- a/win/rfb_win32/SDisplay.cxx
+++ b/win/rfb_win32/SDisplay.cxx
@@ -378,8 +378,6 @@
// - Only process updates if the server is ready
if (server) {
- bool try_update = false;
-
// - Check that the SDesktop doesn't need restarting
if (isRestartRequired()) {
restartCore();
@@ -411,16 +409,12 @@
// NB: First translate from Screen coordinates to Desktop
Point desktopPos = info.position.translate(screenRect.tl.negate());
server->setCursorPos(desktopPos);
- try_update = true;
old_cursor = info;
}
// Flush any changes to the server
- try_update = flushChangeTracker() || try_update;
- if (try_update) {
- server->tryUpdate();
- }
+ flushChangeTracker();
}
return;
}