diff options
author | Pierre Ossman <ossman@cendio.se> | 2015-06-05 12:57:02 +0200 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2015-06-05 12:57:02 +0200 |
commit | 56f99d63df16836e03cc8bc2c531684e89e1b6f1 (patch) | |
tree | 4b163e1f2abed34a71840e87ebf59aa21de2adf0 /common/rfb/SDesktop.h | |
parent | 500cb6ef11a52345bf49e751976bff386e6e09ef (diff) | |
download | tigervnc-56f99d63df16836e03cc8bc2c531684e89e1b6f1.tar.gz tigervnc-56f99d63df16836e03cc8bc2c531684e89e1b6f1.zip |
Change fillRect() to take a buffer instead of a pixel
There has been some confusion if fillRect() should accept a buffer
or a pixel. This can cause misrendering if your data is not in the
native endian order. A buffer makes more sense here though, and
is what most of the callers are already assuming, so change the
API to follow that.
Diffstat (limited to 'common/rfb/SDesktop.h')
-rw-r--r-- | common/rfb/SDesktop.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/common/rfb/SDesktop.h b/common/rfb/SDesktop.h index 546506a9..833762ef 100644 --- a/common/rfb/SDesktop.h +++ b/common/rfb/SDesktop.h @@ -92,12 +92,16 @@ namespace rfb { public: SStaticDesktop(const Point& size) : server(0), buffer(0) { PixelFormat pf; + const rdr::U8 black[4] = { 0, 0, 0, 0 }; buffer = new ManagedPixelBuffer(pf, size.x, size.y); - if (buffer) buffer->fillRect(buffer->getRect(), 0); + if (buffer) + buffer->fillRect(buffer->getRect(), black); } SStaticDesktop(const Point& size, const PixelFormat& pf) : buffer(0) { + const rdr::U8 black[4] = { 0, 0, 0, 0 }; buffer = new ManagedPixelBuffer(pf, size.x, size.y); - if (buffer) buffer->fillRect(buffer->getRect(), 0); + if (buffer) + buffer->fillRect(buffer->getRect(), black); } virtual ~SStaticDesktop() { if (buffer) delete buffer; |