diff options
author | Adam Jackson <ajax@redhat.com> | 2009-10-22 17:29:01 -0400 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2009-10-23 09:46:30 +0900 |
commit | 15b30fde179cba3877182cd51b0f870ef29ffaee (patch) | |
tree | cb227d3c12591a0fb9adfae73f7538c3d975ca28 | |
parent | 3785475a78636eb6547ef9e46be9e009c7cf7800 (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.c | 3 |
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]; } |