Browse Source

Fix handling of VMware cursors

This is a regression from ad0f061. If a VMware cursor rect was split up
over multiple read()s then the stream would become corrupted as we set
the restore point at the wrong place.
tags/v1.12.90
Pierre Ossman 2 years ago
parent
commit
1a729dc012
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      common/rfb/CMsgReader.cxx

+ 2
- 2
common/rfb/CMsgReader.cxx View File

@@ -636,11 +636,11 @@ bool CMsgReader::readSetVMwareCursor(int width, int height, const Point& hotspot
if (!is->hasData(1 + 1))
return false;

is->setRestorePoint();

type = is->readU8();
is->skip(1);

is->setRestorePoint();

if (type == 0) {
int len = width * height * (handler->server.pf().bpp/8);
rdr::U8Array andMask(len);

Loading…
Cancel
Save