The problem is TightVNC doesn't take the stride field of the autoMapSurface into account when copying data to m_targetFB in Win8DeskDuplicationThread::processDirtyRects(). It must call autoMapSurface.getStride() and make sure Framebuffer::copyFrom() respects the stride when copying the data.
This doesn't happen at all screen resolutions because sometimes the stride is 0. The most prevelant resolution that we've see this is on 1366x768 - thats when the stride field is usually non-zero.
Log in to post a comment.