summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2009-10-22 17:29:01 -0400
committerKeith Packard <keithp@keithp.com>2009-10-23 09:46:30 +0900
commit15b30fde179cba3877182cd51b0f870ef29ffaee (patch)
treecb227d3c12591a0fb9adfae73f7538c3d975ca28
parent3785475a78636eb6547ef9e46be9e009c7cf7800 (diff)
dix: Fix up colormap fixup.
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@redhat.com>
-rw-r--r--dix/colormap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/dix/colormap.c b/dix/colormap.c
index d702b0204..bf9794125 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];
}