[cairo] [PATCH 26/36] drm/intel: fix font cleanup
Enrico Weigelt, metux IT consult
enrico.weigelt at gr13.net
Sat Dec 12 10:51:54 PST 2015
Signed-off-by: Enrico Weigelt, metux IT consult <enrico.weigelt at gr13.net>
---
src/drm/cairo-drm-intel.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/drm/cairo-drm-intel.c b/src/drm/cairo-drm-intel.c
index 45168de..7a0c9b0 100644
--- a/src/drm/cairo-drm-intel.c
+++ b/src/drm/cairo-drm-intel.c
@@ -801,16 +801,18 @@ _intel_glyph_cache_fini (intel_device_t *device, intel_buffer_cache_t *cache)
void
intel_device_fini (intel_device_t *device)
{
- cairo_scaled_font_t *scaled_font, *next_scaled_font;
int n;
- cairo_list_foreach_entry_safe (scaled_font,
- next_scaled_font,
- cairo_scaled_font_t,
- &device->fonts,
- link)
- {
- _cairo_scaled_font_revoke_ownership (scaled_font);
+ while (! cairo_list_is_empty (&device->fonts)) {
+ cairo_scaled_font_t *font = cairo_list_first_entry (
+ &device->fonts,
+ cairo_scaled_font_t,
+ link);
+
+ _cairo_scaled_font_revoke_ownership (font);
+
+ cairo_list_del (&font->link);
+ free (font);
}
for (n = 0; n < ARRAY_LENGTH (device->glyph_cache); n++)
--
2.6.4.442.g545299f
More information about the cairo
mailing list