diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-12-14 20:11:39 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-12-14 20:11:39 +0000 |
commit | 232fa93a4bf1760e16e913e8fb4d5159c4be9295 (patch) | |
tree | 2e85bdac1dfbbb60bd3f4cfca81e11dc5786f96c /uxa | |
parent | 95cceb5ae5503af0ac50a923fa47e134f0da8743 (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.c | 6 |
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 */ |