Keith Packard <[email protected]> writes: > 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); > + } > }
I expected DamageReportDamage() to be used instead, but this is safe because we're using DamageReportNone (and leaving the blockhandler to do our paint). Reviewed-by: Eric Anholt <[email protected]>
pgp8_m0ybxCFV.pgp
Description: PGP signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
