DIX: Set backgroundState correctly for root window

When we change the root window's background to None, and we've run with
-wr or -br for a forced solid background, make sure we also change the
background state to BackgroundPixel, so we don't try to lookup either
pScreen->whitePixel or pScreen->blackPixel as a pixmap.

Signed-off-by: Marko Macek <Marko.Macek@gmx.net>
Reviewed-by: Walter Harms <wharms@bfs.de>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Marko Macek 2011-05-21 13:30:59 +01:00 committed by Keith Packard
parent db228d3d07
commit c5b72fd350

View File

@ -475,6 +475,7 @@ InitRootWindow(WindowPtr pWin)
pWin->background.pixel = pScreen->whitePixel;
backFlag |= CWBackPixmap;
} else {
pWin->backgroundState = BackgroundPixel;
if (whiteRoot)
pWin->background.pixel = pScreen->whitePixel;
else
@ -973,6 +974,7 @@ SetRootWindowBackground(WindowPtr pWin, ScreenPtr pScreen, Mask *index2)
else if (party_like_its_1989)
MakeRootTile(pWin);
else {
pWin->backgroundState = BackgroundPixel;
if (whiteRoot)
pWin->background.pixel = pScreen->whitePixel;
else