]> source.dussan.org Git - tigervnc.git/commitdiff
[Bugfix] Xvnc: define 32bit pixel format correctly when enabled.
authorAdam Tkac <atkac@redhat.com>
Wed, 25 Aug 2010 13:40:10 +0000 (13:40 +0000)
committerAdam Tkac <atkac@redhat.com>
Wed, 25 Aug 2010 13:40:10 +0000 (13:40 +0000)
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

unix/xserver/hw/vnc/xvnc.cc

index 15235e1030b1faac75b5a234ab1fb45d9c9aac7a..d5bffbeb490bc0fdb513dcd2eb7f4cbbf1c6f287 100644 (file)
@@ -1203,13 +1203,22 @@ vfbScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
     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++) {