summaryrefslogtreecommitdiff
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
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>
-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 */