Send desktop layout changes separately
Make sure we send any modifications to the desktop layout in a message that
does not modify the framebuffer data. This is required to make sure we have
a valid state on the client as it drops the framebuffer when it recieves a
framebuffer dimension change.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3787 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/common/rfb/SMsgWriter.cxx b/common/rfb/SMsgWriter.cxx
index f3079ee..1695161 100644
--- a/common/rfb/SMsgWriter.cxx
+++ b/common/rfb/SMsgWriter.cxx
@@ -114,6 +114,11 @@
return encoders[encoding]->getNumRects(r);
}
+bool SMsgWriter::needFakeUpdate()
+{
+ return false;
+}
+
// FIXME: This functions is not used because it incorrectly computes
// the number of rectangles if the Tight encoder is used.
/*
@@ -126,6 +131,17 @@
}
*/
+bool SMsgWriter::needNoDataUpdate()
+{
+ return false;
+}
+
+void SMsgWriter::writeNoDataUpdate()
+{
+ // This class has no pseudo-rectangles so there is nothing to do here
+ vlog.error("writeNoDataUpdate() called");
+}
+
void SMsgWriter::writeRects(const UpdateInfo& ui, ImageGetter* ig,
Region* updatedRegion)
{
@@ -148,12 +164,6 @@
}
}
-
-bool SMsgWriter::needFakeUpdate()
-{
- return false;
-}
-
bool SMsgWriter::writeRect(const Rect& r, ImageGetter* ig, Rect* actual)
{
return writeRect(r, cp->currentEncoding(), ig, actual);