From d51a35543ca405dda788eb6433e6bb30dc3c7cf5 Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Mon, 8 Aug 2005 14:27:01 +0000 Subject: [PATCH] Don't free the glyph if the entry doesn't have a glyph. (Maybe #3909, Carlos Garnacho Parro) --- ChangeLog | 6 ++++++ src/cairo-xlib-surface.c | 5 +++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3c37fa8e7..3ff445b55 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-08-08 Owen Taylor + + * src/cairo-xlib-surface.c (_xlib_glyphset_cache_destroy_entry): + Don't free the glyph if the entry doesn't have a glyph. + (Maybe #3909, Carlos Garnacho Parro) + 2005-08-08 Carl Worth * src/cairo-gstate.c: (_cairo_operator_bounded): Add a return diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index fc6ff8b83..9c87cc95d 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -2073,8 +2073,9 @@ _xlib_glyphset_cache_destroy_entry (void *abstract_cache, glyphset_cache_entry_t *entry = abstract_entry; _cairo_unscaled_font_destroy (entry->key.unscaled); - XRenderFreeGlyphs (cache->display, entry->glyphset, - &(entry->glyph), 1); + if (entry->glyph) + XRenderFreeGlyphs (cache->display, entry->glyphset, + &(entry->glyph), 1); free (entry); }