ephyr: Repaint entire screen when colormap is updated
Any time the colormap is changed, the entire screen needs to be repainted to match. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
9eecc9ac73
commit
ae796d43c9
|
@ -1232,6 +1232,9 @@ ephyrGetColors(ScreenPtr pScreen, int n, xColorItem * pdefs)
|
||||||
void
|
void
|
||||||
ephyrPutColors(ScreenPtr pScreen, int n, xColorItem * pdefs)
|
ephyrPutColors(ScreenPtr pScreen, int n, xColorItem * pdefs)
|
||||||
{
|
{
|
||||||
|
KdScreenPriv(pScreen);
|
||||||
|
KdScreenInfo *screen = pScreenPriv->screen;
|
||||||
|
EphyrScrPriv *scrpriv = screen->driver;
|
||||||
int min, max, p;
|
int min, max, p;
|
||||||
|
|
||||||
/* XXX Not sure if this is right */
|
/* XXX Not sure if this is right */
|
||||||
|
@ -1251,6 +1254,18 @@ ephyrPutColors(ScreenPtr pScreen, int n, xColorItem * pdefs)
|
||||||
pdefs->green >> 8, pdefs->blue >> 8);
|
pdefs->green >> 8, pdefs->blue >> 8);
|
||||||
pdefs++;
|
pdefs++;
|
||||||
}
|
}
|
||||||
|
if (scrpriv->pDamage) {
|
||||||
|
BoxRec box;
|
||||||
|
RegionRec region;
|
||||||
|
|
||||||
|
box.x1 = 0;
|
||||||
|
box.y1 = 0;
|
||||||
|
box.x2 = pScreen->width;
|
||||||
|
box.y2 = pScreen->height;
|
||||||
|
RegionInit(®ion, &box, 1);
|
||||||
|
DamageReportDamage(scrpriv->pDamage, ®ion);
|
||||||
|
RegionUninit(®ion);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Mouse calls */
|
/* Mouse calls */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user