Fixed a problem with low performance in new polling code.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2347 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/x0vncserver/PollingManager.cxx b/unix/x0vncserver/PollingManager.cxx
index 9921fd0..d251f5f 100644
--- a/unix/x0vncserver/PollingManager.cxx
+++ b/unix/x0vncserver/PollingManager.cxx
@@ -274,7 +274,11 @@
   int bytesPerPixel = m_image->xim->bits_per_pixel / 8;
   int bytesPerLine = m_image->xim->bytes_per_line;
 
-  getRow(x, y, w);
+  if (x == 0 && w == m_width) {
+    getFullRow(y);              // use more efficient method if possible
+  } else {
+    getRow(x, y, w);
+  }
 
   char *ptr_old = m_image->xim->data + y * bytesPerLine + x * bytesPerPixel;
   char *ptr_new = m_rowImage->xim->data;