[Bugfix] Xvnc: define 32bit pixel format correctly when enabled.

Signed-off-by: Martin Koegler <mkoegler@auto.tuwien.ac.at>


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4124 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/unix/xserver/hw/vnc/xvnc.cc b/unix/xserver/hw/vnc/xvnc.cc
index 15235e1..d5bffbe 100644
--- a/unix/xserver/hw/vnc/xvnc.cc
+++ b/unix/xserver/hw/vnc/xvnc.cc
@@ -1203,13 +1203,22 @@
     pScreen->blackPixel = pvfb->blackPixel;
     pScreen->whitePixel = pvfb->whitePixel;
 
-    if (!pvfb->pixelFormatDefined && pvfb->fb.depth == 16) {
+    if (!pvfb->pixelFormatDefined) {
 	pvfb->pixelFormatDefined = TRUE;
-	pvfb->rgbNotBgr = TRUE;
-	pvfb->blueBits = pvfb->redBits = 5;
-	pvfb->greenBits = 6;
+
+	switch (pvfb->fb.depth) {
+	case 16:
+	    pvfb->rgbNotBgr = TRUE;
+	    pvfb->blueBits = pvfb->redBits = 5;
+	    pvfb->greenBits = 6;
+	    break;
+	case 32:
+	    pvfb->rgbNotBgr = TRUE;
+	    pvfb->blueBits = pvfb->redBits = pvfb->greenBits = 8;
+	    break;
+	}
     }
-    
+
     if (pvfb->pixelFormatDefined) {
 	VisualPtr vis = pScreen->visuals;
 	for (int i = 0; i < pScreen->numVisuals; i++) {