Any time the colormap is changed, the entire screen needs to be repainted to match.
Signed-off-by: Keith Packard <[email protected]> --- hw/kdrive/ephyr/ephyr.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c index da80c95..73d7b87 100644 --- a/hw/kdrive/ephyr/ephyr.c +++ b/hw/kdrive/ephyr/ephyr.c @@ -1232,6 +1232,10 @@ ephyrGetColors(ScreenPtr pScreen, int n, xColorItem * pdefs) void ephyrPutColors(ScreenPtr pScreen, int n, xColorItem * pdefs) { + KdScreenPriv(pScreen); + KdScreenInfo *screen = pScreenPriv->screen; + EphyrScrPriv *scrpriv = screen->driver; + BoxRec box; int min, max, p; /* XXX Not sure if this is right */ @@ -1251,6 +1255,13 @@ ephyrPutColors(ScreenPtr pScreen, int n, xColorItem * pdefs) pdefs->green >> 8, pdefs->blue >> 8); pdefs++; } + if (scrpriv->pDamage) { + box.x1 = 0; + box.y1 = 0; + box.x2 = pScreen->width; + box.y2 = pScreen->height; + RegionReset(DamageRegion(scrpriv->pDamage), &box); + } } /* Mouse calls */ -- 1.8.5.3 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
