xserver: Branch 'server-1.3-branch'
Keith Packard
keithp at kemper.freedesktop.org
Sun Feb 18 03:15:03 EET 2007
hw/kdrive/ephyr/ephyr.c | 23 +++++++++--------------
1 files changed, 9 insertions(+), 14 deletions(-)
New commits:
diff-tree 8a16682892dd73e1b17955ded89a74c077d54f7f (from 33c2d2ce8ae00d89b91100cd5d7aba4b18b4117d)
Author: Alan Coopersmith <alan.coopersmith at sun.com>
Date: Fri Feb 2 14:44:55 2007 -0800
Fix bus error on startup in 64-bit Xephyr
hostx_get_visual_masks takes unsigned long * arguments, but was being
passed pointers to CARD32's.
(cherry picked from commit 5dcad9e9d7d9993d65f989219bee94a060bbf476)
diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
index 7c39af3..6f2e3de 100644
--- a/hw/kdrive/ephyr/ephyr.c
+++ b/hw/kdrive/ephyr/ephyr.c
@@ -75,7 +75,8 @@ Bool
ephyrScreenInitialize (KdScreenInfo *screen, EphyrScrPriv *scrpriv)
{
int width = 640, height = 480;
-
+ unsigned long redMask, greenMask, blueMask;
+
if (hostx_want_screen_size(&width, &height)
|| !screen->width || !screen->height)
{
@@ -127,30 +128,24 @@ ephyrScreenInitialize (KdScreenInfo *scr
{
screen->fb[0].depth = 15;
screen->fb[0].bitsPerPixel = 16;
-
- hostx_get_visual_masks (&screen->fb[0].redMask,
- &screen->fb[0].greenMask,
- &screen->fb[0].blueMask);
-
}
else if (screen->fb[0].depth <= 16)
{
screen->fb[0].depth = 16;
screen->fb[0].bitsPerPixel = 16;
-
- hostx_get_visual_masks (&screen->fb[0].redMask,
- &screen->fb[0].greenMask,
- &screen->fb[0].blueMask);
}
else
{
screen->fb[0].depth = 24;
screen->fb[0].bitsPerPixel = 32;
-
- hostx_get_visual_masks (&screen->fb[0].redMask,
- &screen->fb[0].greenMask,
- &screen->fb[0].blueMask);
}
+
+ hostx_get_visual_masks (&redMask, &greenMask, &blueMask);
+
+ screen->fb[0].redMask = (Pixel) redMask;
+ screen->fb[0].greenMask = (Pixel) greenMask;
+ screen->fb[0].blueMask = (Pixel) blueMask;
+
}
scrpriv->randr = screen->randr;
More information about the xorg-commit
mailing list