From 160c85f4ecd37b9ab046403e0bc1b5f834a9c3d4 Mon Sep 17 00:00:00 2001
From: dscho <dscho>
Date: Thu, 25 Apr 2002 08:08:38 +0000
Subject: now colour handling should be correct

---
 mac.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

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 =
-- 
cgit v1.2.3

