From e0f301fc0512502542573b3f8dd9452f5a7ea6e1 Mon Sep 17 00:00:00 2001 From: Jeremy White Date: Wed, 13 Jun 2012 17:04:12 -0500 Subject: Compute totalPixmapSize using the same logic as in dix/pixmap.c, rather than hard coding 100. This was found while building with a modified X server; one with a PixmapRec size of 224, not 64 :-/. --- src/qxl_driver.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/qxl_driver.c b/src/qxl_driver.c index 54bbd4a..a6d7636 100644 --- a/src/qxl_driver.c +++ b/src/qxl_driver.c @@ -1138,8 +1138,6 @@ qxl_screen_init(SCREEN_INIT_ARGS_DECL) ErrorF ("allocated %d x %d %p\n", pScrn->virtualX, pScrn->virtualY, qxl->fb); #endif - pScreen->totalPixmapSize = 100; - pScrn->virtualX = pScrn->currentMode->HDisplay; pScrn->virtualY = pScrn->currentMode->VDisplay; @@ -1198,6 +1196,10 @@ qxl_screen_init(SCREEN_INIT_ARGS_DECL) DamageSetup(pScreen); + /* We need to set totalPixmapSize after setup_uxa and Damage, + as the privatessize is not computed correctly until then */ + pScreen->totalPixmapSize = BitmapBytePad((sizeof(PixmapRec) + dixPrivatesSize(PRIVATE_PIXMAP) ) * 8); + miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); if (!miCreateDefColormap(pScreen)) goto out; -- cgit v1.2.3