Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-09-19 18:09:13 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-09-19 18:09:13 +0400
commit5c7b5c0b51f57ad19b79eac78e3e4afb263b23cc (patch)
tree28032da573c9366ab0d0f16ae1c93273108d13e4 /source/blender/blenfont/intern/blf_glyph.c
parent712e434a5f71fc4afc52e399af917d137c49308b (diff)
Blenfont: fix use incorrect clear of ascii glyph cache, leading to crash
when toggling use antialising user preference. Also fix some other use of uninitialized memory found by valgrind.
Diffstat (limited to 'source/blender/blenfont/intern/blf_glyph.c')
-rw-r--r--source/blender/blenfont/intern/blf_glyph.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/source/blender/blenfont/intern/blf_glyph.c b/source/blender/blenfont/intern/blf_glyph.c
index b661005b50b..99d41cd7abd 100644
--- a/source/blender/blenfont/intern/blf_glyph.c
+++ b/source/blender/blenfont/intern/blf_glyph.c
@@ -75,7 +75,7 @@ GlyphCacheBLF *blf_glyph_cache_new(FontBLF *font)
{
GlyphCacheBLF *gc;
- gc= (GlyphCacheBLF *)MEM_mallocN(sizeof(GlyphCacheBLF), "blf_glyph_cache_new");
+ gc= (GlyphCacheBLF *)MEM_callocN(sizeof(GlyphCacheBLF), "blf_glyph_cache_new");
gc->next= NULL;
gc->prev= NULL;
gc->size= font->size;
@@ -131,10 +131,8 @@ void blf_glyph_cache_clear(FontBLF *font)
blf_glyph_free(g);
}
}
- }
- if(font->glyph_cache) {
- memset(font->glyph_cache->glyph_ascii_table, 0, sizeof(font->glyph_cache->glyph_ascii_table));
+ memset(gc->glyph_ascii_table, 0, sizeof(gc->glyph_ascii_table));
}
}
@@ -250,20 +248,11 @@ GlyphBLF *blf_glyph_add(FontBLF *font, unsigned int index, unsigned int c)
if (err || slot->format != FT_GLYPH_FORMAT_BITMAP)
return NULL;
- g= (GlyphBLF *)MEM_mallocN(sizeof(GlyphBLF), "blf_glyph_add");
- g->next= NULL;
- g->prev= NULL;
+ g= (GlyphBLF *)MEM_callocN(sizeof(GlyphBLF), "blf_glyph_add");
g->c= c;
g->idx= (FT_UInt)index;
- g->tex= 0;
- g->build_tex= 0;
- g->bitmap= NULL;
g->xoff= -1;
g->yoff= -1;
- g->uv[0][0]= 0.0f;
- g->uv[0][1]= 0.0f;
- g->uv[1][0]= 0.0f;
- g->uv[1][1]= 0.0f;
bitmap= slot->bitmap;
g->width= bitmap.width;
g->height= bitmap.rows;