Fixed a bug with sending colors for zero-size cursors, in XCursor
pseudo-encoding.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@310 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/rfb/SMsgWriterV3.cxx b/rfb/SMsgWriterV3.cxx
index c34f216..e91e514 100644
--- a/rfb/SMsgWriterV3.cxx
+++ b/rfb/SMsgWriterV3.cxx
@@ -100,14 +100,16 @@
   // returned from getBitmap, in writeSetCursorCallback. However, we
   // would then need to undo the conversion from rgb to Pixel that is
   // done by FakeAllocColor. 
-  os->writeU8(0);
-  os->writeU8(0);
-  os->writeU8(0);
-  os->writeU8(255);
-  os->writeU8(255);
-  os->writeU8(255);
-  os->writeBytes(data, (width+7)/8 * height);
-  os->writeBytes(mask, (width+7)/8 * height);
+  if (width * height) {
+    os->writeU8(0);
+    os->writeU8(0);
+    os->writeU8(0);
+    os->writeU8(255);
+    os->writeU8(255);
+    os->writeU8(255);
+    os->writeBytes(data, (width+7)/8 * height);
+    os->writeBytes(mask, (width+7)/8 * height);
+  }
 }
 
 void SMsgWriterV3::writeFramebufferUpdateStart(int nRects)