Disable Composite when the screen's visual is pseudocolor.
Rendering fails badly in this case, and I don't care enough to fix it.
This commit is contained in:
parent
8afc7e2eb3
commit
5e7936371c
|
@ -678,9 +678,22 @@ CompositeExtensionInit (void)
|
||||||
ExtensionEntry *extEntry;
|
ExtensionEntry *extEntry;
|
||||||
int s;
|
int s;
|
||||||
|
|
||||||
/* Ensure that Render is initialized on all screens. */
|
|
||||||
for (s = 0; s < screenInfo.numScreens; s++) {
|
for (s = 0; s < screenInfo.numScreens; s++) {
|
||||||
if (GetPictureScreenIfSet(screenInfo.screens[s]) == NULL)
|
ScreenPtr pScreen = screenInfo.screens[s];
|
||||||
|
VisualPtr vis;
|
||||||
|
|
||||||
|
/* Composite on 8bpp pseudocolor root windows appears to fail, so
|
||||||
|
* just disable it on anything pseudocolor for safety.
|
||||||
|
*/
|
||||||
|
for (vis = pScreen->visuals; vis->vid != pScreen->rootVisual; vis++)
|
||||||
|
;
|
||||||
|
if ((vis->class | DynamicClass) == PseudoColor)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Ensure that Render is initialized, which is required for automatic
|
||||||
|
* compositing.
|
||||||
|
*/
|
||||||
|
if (GetPictureScreenIfSet(pScreen) == NULL)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue