https://bugzilla.novell.com/show_bug.cgi?id=698125
https://bugzilla.novell.com/show_bug.cgi?id=698125#c4
--- Comment #4 from Christopher Yeleighton 2011-06-17 14:03:42 UTC ---
because depth[i].vids == NULL (when built with -O0)
this should be set in micmap.c:565
but it is not reached because miVisuals->count == 0 at micmap.c:563 (each time)
miVisuals is static at micmap.c:376, to be set at micmap.c:420
but then visuals == 0 (parameter), so count gets 0 too
now, miSetVisualTypes is called
* from miSetPixmapDepths (with visuals=0)
* from miInitVisuals, but only if (!miVisuals), which is not the case even if
the server does not crash
However, it is successfully called from vfbScreenInit.
The code of vfbSceenInit (hw/vfb/InitOutput.c:832) explicitly supports some
depths but not others:
<<<
switch (pvfb->depth) {
case 8:
miSetVisualTypesAndMasks (8,
((1 << StaticGray) |
(1 << GrayScale) |
(1 << StaticColor) |
(1 << PseudoColor) |
(1 << TrueColor) |
(1 << DirectColor)),
8, PseudoColor, 0, 0, 0);
break;
case 15:
miSetVisualTypesAndMasks (15,
((1 << TrueColor) |
(1 << DirectColor)),
8, TrueColor, 0x7c00, 0x03e0, 0x001f);
break;
case 16:
miSetVisualTypesAndMasks (16,
((1 << TrueColor) |
(1 << DirectColor)),
8, TrueColor, 0xf800, 0x07e0, 0x001f);
break;
case 24:
miSetVisualTypesAndMasks (24,
((1 << TrueColor) |
(1 << DirectColor)),
8, TrueColor, 0xff0000, 0x00ff00, 0x0000ff);
break;
case 30:
miSetVisualTypesAndMasks (30,
((1 << TrueColor) |
(1 << DirectColor)),
10, TrueColor, 0x3ff00000, 0x000ffc00, 0x000003ff);
break;
}
If the declared depth is not one of them, Xvfb crashes.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.