summaryrefslogtreecommitdiff
path: root/src/sna/sna_glyphs.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-07-14 21:35:23 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-07-14 21:36:45 +0100
commit0e397e4a1dc23ed07089c967612d705584f3b376 (patch)
treed32ed8ce93af99efb92fced883968c110d97fa6b /src/sna/sna_glyphs.c
parentdb1ee13a53b0c1348b7566ee60ee1b7b384ef59a (diff)
sna/glyphs: Perform the fallback mask reduce before moving the glyph pointers
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_glyphs.c')
-rw-r--r--src/sna/sna_glyphs.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c
index 80c0b74d..28223680 100644
--- a/src/sna/sna_glyphs.c
+++ b/src/sna/sna_glyphs.c
@@ -1316,6 +1316,11 @@ glyphs_fallback(CARD8 op,
}
RegionTranslate(&region, -dst->pDrawable->x, -dst->pDrawable->y);
+ if (mask_format &&
+ (op_is_bounded(op) || (nlist == 1 && list->len == 1)) &&
+ mask_format == glyphs_format(nlist, list, glyphs))
+ mask_format = NULL;
+
cache = sna->render.glyph_cache;
pixman_glyph_cache_freeze(cache);
@@ -1377,11 +1382,6 @@ next:
if (dst_image == NULL)
goto out_free_src;
- if (mask_format &&
- (op_is_bounded(op) || (nlist == 1 && list->len == 1)) &&
- mask_format == glyphs_format(nlist, list, glyphs))
- mask_format = NULL;
-
if (mask_format) {
pixman_composite_glyphs(op, src_image, dst_image,
mask_format->format | (mask_format->depth << 24),