diff --git a/exa/exa_render.c b/exa/exa_render.c index d57a2215e..e71f53575 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -718,6 +718,8 @@ exaGlyphs (CARD8 op, { exaCopyArea (&pScratchPixmap->drawable, &pPixmap->drawable, pGC, 0, 0, glyph->info.width, glyph->info.height, 0, 0); + } else { + exaDrawableDirty (&pPixmap->drawable); } if (maskFormat) diff --git a/hw/xfree86/exa/exa_render.c b/hw/xfree86/exa/exa_render.c index d57a2215e..e71f53575 100644 --- a/hw/xfree86/exa/exa_render.c +++ b/hw/xfree86/exa/exa_render.c @@ -718,6 +718,8 @@ exaGlyphs (CARD8 op, { exaCopyArea (&pScratchPixmap->drawable, &pPixmap->drawable, pGC, 0, 0, glyph->info.width, glyph->info.height, 0, 0); + } else { + exaDrawableDirty (&pPixmap->drawable); } if (maskFormat) diff --git a/hw/xfree86/exa/exapict.c b/hw/xfree86/exa/exapict.c index d57a2215e..e71f53575 100644 --- a/hw/xfree86/exa/exapict.c +++ b/hw/xfree86/exa/exapict.c @@ -718,6 +718,8 @@ exaGlyphs (CARD8 op, { exaCopyArea (&pScratchPixmap->drawable, &pPixmap->drawable, pGC, 0, 0, glyph->info.width, glyph->info.height, 0, 0); + } else { + exaDrawableDirty (&pPixmap->drawable); } if (maskFormat)