FBDevDGAInit is already converted to devPrivates,and so it works fine
  when xf86-video-fbdev is rotated(trough xorg.conf,for instance
  CW rotation)
But when it's not rotated,drivers like xf86-input-tslib
  which access the dev private screen key fail with:
privates.h:122: dixGetPrivateAddr: Assertion `key->initialized' failed.
at:
Rotation rotation = rrGetScrPriv (pScrn->pScreen) ? 
RRGetRotation(pScrn->pScreen) : RR_Rotate_0;
Because pScreen was not initialized correctly.

This patch fixes that.

Signed-off-by: Denis 'GNUtoo' Carikli <[email protected]>
---
 src/fbdev.c |   13 +------------
 1 files changed, 1 insertions(+), 12 deletions(-)

diff --git a/src/fbdev.c b/src/fbdev.c
index c97ce1c..af8de48 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -828,18 +828,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int 
argc, char **argv)
                       "shadow framebuffer initialization failed\n");
            return FALSE;
        }
-
-       if (!fPtr->rotate)
-         FBDevDGAInit(pScrn, pScreen);
-       else {
-         xf86DrvMsg(scrnIndex, X_INFO, "display rotated; disabling DGA\n");
-         xf86DrvMsg(scrnIndex, X_INFO, "using driver rotation; disabling "
-                                       "XRandR\n");
-         xf86DisableRandR();
-         if (pScrn->bitsPerPixel == 24)
-           xf86DrvMsg(scrnIndex, X_WARNING, "rotation might be broken at 24 "
-                                             "bits per pixel\n");
-       }
+       FBDevDGAInit(pScrn, pScreen);
 
        xf86SetBlackWhitePixels(pScreen);
        miInitializeBackingStore(pScreen);
-- 
1.7.0.4

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to