diff options
author | Søren Sandmann <ssp@redhat.com> | 2012-08-14 14:20:11 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-09-05 18:17:21 -0400 |
commit | afd8d20b84a4b4e9b22483e379d594517333e8c7 (patch) | |
tree | 07c18ecaf9b73229e7f4b7a0c8932df8777f6f8a /src | |
parent | e738d00e1fb3cd469f850765e2b42976c2a85764 (diff) |
uxa-glyphs: don't prepare composite when dest is not offscreen
It is possbible for a pixmap to not be in video memory after
uxa_clear_pixmap() was called. When this happens, we need to destroy
the pixmap and return 1 to indicate that the operation can't be
accelerated.
Diffstat (limited to 'src')
-rw-r--r-- | src/uxa/uxa-glyphs.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/uxa/uxa-glyphs.c b/src/uxa/uxa-glyphs.c index dd50dfc..997feb7 100644 --- a/src/uxa/uxa-glyphs.c +++ b/src/uxa/uxa-glyphs.c @@ -932,6 +932,11 @@ uxa_glyphs_via_mask(CARD8 op, uxa_clear_pixmap(screen, uxa_screen, pixmap); + if (!uxa_pixmap_is_offscreen(pixmap)) { + screen->DestroyPixmap(pixmap); + return 1; + } + component_alpha = NeedsComponent(maskFormat->format); mask = CreatePicture(0, &pixmap->drawable, maskFormat, CPComponentAlpha, |