aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/SDesktop.h
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2015-06-05 12:57:02 +0200
committerPierre Ossman <ossman@cendio.se>2015-06-05 12:57:02 +0200
commit56f99d63df16836e03cc8bc2c531684e89e1b6f1 (patch)
tree4b163e1f2abed34a71840e87ebf59aa21de2adf0 /common/rfb/SDesktop.h
parent500cb6ef11a52345bf49e751976bff386e6e09ef (diff)
downloadtigervnc-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.h8
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;