Mark sync when UploadToScreen succeeds in exaGlyphs().

This commit is contained in:
Eric Anholt 2007-02-14 10:39:46 -08:00
parent a492d494f5
commit a5f19c5150

View File

@ -995,15 +995,17 @@ exaGlyphs (CARD8 op,
* First we try to use UploadToScreen, if we can, then we fall back * First we try to use UploadToScreen, if we can, then we fall back
* to a plain exaCopyArea in case of failure. * to a plain exaCopyArea in case of failure.
*/ */
if (!pExaScr->info->UploadToScreen || if (pExaScr->info->UploadToScreen &&
!exaPixmapIsOffscreen(pPixmap) || exaPixmapIsOffscreen(pPixmap) &&
!(*pExaScr->info->UploadToScreen) (pPixmap, 0, 0, (*pExaScr->info->UploadToScreen) (pPixmap, 0, 0,
glyph->info.width, glyph->info.width,
glyph->info.height, glyph->info.height,
glyphdata, glyphdata,
PixmapBytePad(glyph->info.width, PixmapBytePad(glyph->info.width,
list->format->depth))) list->format->depth)))
{ {
exaMarkSync (pScreen);
} else {
/* Set up the scratch pixmap/GC for doing a CopyArea. */ /* Set up the scratch pixmap/GC for doing a CopyArea. */
if (pScratchPixmap == NULL) { if (pScratchPixmap == NULL) {
/* Get a scratch pixmap to wrap the original glyph data */ /* Get a scratch pixmap to wrap the original glyph data */