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;