[PATCH] dix: Fix up colormap fixup.

Adam Jackson ajax at redhat.com
Thu Oct 22 14:29:01 PDT 2009


FindClientResourcesByType() will walk all colormaps on all screens; we
only want to fix up the current screen.  Otherwise, screens > 0 will
have the visual pointers for their colormaps pointing off into space.

Signed-off-by: Adam Jackson <ajax at redhat.com>
---
 dix/colormap.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/dix/colormap.c b/dix/colormap.c
index d702b02..bf97941 100644
--- a/dix/colormap.c
+++ b/dix/colormap.c
@@ -2705,6 +2705,9 @@ static void _colormap_find_resource(pointer value, XID id,
     ColormapPtr cmap = value;
     int j;
 
+    if (pScreen != cmap->pScreen)
+	return;
+
     j = cmap->pVisual - pScreen->visuals;
     cmap->pVisual = &visuals[j];
 }
-- 
1.6.4.4



More information about the xorg-devel mailing list