summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mac.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/mac.c b/mac.c
index 3a43426..ede3e3d 100644
--- a/mac.c
+++ b/mac.c
@@ -281,11 +281,16 @@ Bool viewOnly = FALSE, sharedMode = FALSE;
void
ScreenInit(int argc, char**argv)
{
+ int bitsPerSample=CGDisplayBitsPerSample(kCGDirectMainDisplay);
rfbScreen = rfbGetScreen(&argc,argv,
CGDisplayPixelsWide(kCGDirectMainDisplay),
CGDisplayPixelsHigh(kCGDirectMainDisplay),
- CGDisplayBitsPerSample(kCGDirectMainDisplay),
+ bitsPerSample,
CGDisplaySamplesPerPixel(kCGDirectMainDisplay),4);
+ rfbScreen->rfbServerFormat->redShift = bitsPerSample*2;
+ rfbScreen->rfbServerFormat->greenShift = bitsPerSample*1;
+ rfbScreen->rfbServerFormat->blueShift = 0;
+
gethostname(rfbScreen->rfbThisHost, 255);
rfbScreen->paddedWidthInBytes = CGDisplayBytesPerRow(kCGDirectMainDisplay);
rfbScreen->frameBuffer =