summaryrefslogtreecommitdiff
path: root/uxa
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-12-14 20:11:39 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-12-14 20:11:39 +0000
commit232fa93a4bf1760e16e913e8fb4d5159c4be9295 (patch)
tree2e85bdac1dfbbb60bd3f4cfca81e11dc5786f96c /uxa
parent95cceb5ae5503af0ac50a923fa47e134f0da8743 (diff)
uxa/glamor: Always notify glamor that the glyph has been unrealized
The danger of the early return when UXA is not using glyphs is evident in the eventual crash when glamor begins evicting and reusing its glyph cache slots. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'uxa')
-rw-r--r--uxa/uxa-glyphs.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c
index 0091dc23..8e412fd7 100644
--- a/uxa/uxa-glyphs.c
+++ b/uxa/uxa-glyphs.c
@@ -307,6 +307,9 @@ uxa_glyph_unrealize(ScreenPtr screen,
struct uxa_glyph *priv;
uxa_screen_t *uxa_screen = uxa_get_screen(screen);
+ if (uxa_screen->info->flags & UXA_USE_GLAMOR)
+ glamor_glyph_unrealize(screen, glyph);
+
/* Use Lookup in case we have not attached to this glyph. */
priv = dixLookupPrivate(&glyph->devPrivates, &uxa_glyph_key);
if (priv == NULL)
@@ -316,9 +319,6 @@ uxa_glyph_unrealize(ScreenPtr screen,
uxa_glyph_set_private(glyph, NULL);
free(priv);
-
- if (uxa_screen->info->flags & UXA_USE_GLAMOR)
- glamor_glyph_unrealize(screen, glyph);
}
/* Cut and paste from render/glyph.c - probably should export it instead */