From b36dde61939b270796ec6fd0df824cf1cd3ad514 Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Wed, 6 Apr 2011 15:24:33 +0100 Subject: [PATCH] cogl-pango-glyph-cache: Fix the flags passed to cogl_atlas_new In 047227fb cogl_atlas_new was changed so that it can take a flags parameter to specify whether to clear the new atlases and whether to copy images to the new atlas after reorganisation. This was done so that the atlas code could be shared with the glyph cache. At some point during the development of this patch the flag was just a single boolean instead and this is accidentally how it is used from the glyph cache. The glyph cache therefore passes 'TRUE' as the set of flags which means it will only get the 'clear' flag and not the 'disable-migration' flag. When the glyph cache gets full it will therefore try to copy the texture to the new atlas as well as redrawing them with cairo. This causes problems because the glyph cache needs to work in situations where there is no FBO support. --- clutter/cogl/pango/cogl-pango-glyph-cache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/clutter/cogl/pango/cogl-pango-glyph-cache.c b/clutter/cogl/pango/cogl-pango-glyph-cache.c index 51f64a6a6..e3503fb80 100644 --- a/clutter/cogl/pango/cogl-pango-glyph-cache.c +++ b/clutter/cogl/pango/cogl-pango-glyph-cache.c @@ -225,7 +225,8 @@ cogl_pango_glyph_cache_lookup (CoglPangoGlyphCache *cache, if (atlas == NULL) { atlas = _cogl_atlas_new (COGL_PIXEL_FORMAT_A_8, - TRUE, + COGL_ATLAS_CLEAR_TEXTURE | + COGL_ATLAS_DISABLE_MIGRATION, cogl_pango_glyph_cache_update_position_cb); COGL_NOTE (ATLAS, "Created new atlas for glyphs: %p", atlas); /* If we still can't reserve space then something has gone