[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ft] Problems with FreeType cache
From: |
bcoconni |
Subject: |
[ft] Problems with FreeType cache |
Date: |
Sat, 19 Apr 2008 13:50:28 +0200 |
Hi all,
I am the maintainer of a library which renders text using OpenGL
(http://quesoglc.sourceforge.net). It uses FreeType to handle all the fonts
management. Recently, one of the user of my library complained that he
experienced segfaults :
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6e40920 (LWP 16590)]
0xb7d95f64 in FT_New_Size () from /usr/lib/libfreetype.so.6
(gdb) bt
#0 0xb7d95f64 in FT_New_Size () from /usr/lib/libfreetype.so.6
#1 0xb7ddb1ba in ftc_scaler_lookup_size () from /usr/lib/libfreetype.so.6
#2 0xb7dd9458 in FTC_MruList_New () from /usr/lib/libfreetype.so.6
#3 0xb7dd9674 in FTC_Manager_LookupSize () from /usr/lib/libfreetype.so.6
#4 0x08054c14 in __glcFaceDescPrepareGlyph (This=0x81126a0,
inContext=0x80f0bc8, inScaleX=128, inScaleY=128, inGlyphIndex=43)
at ../src/ofacedesc.c:407
and an extract of the code where FTC_Manager_LookupSize is called :
scaler.face_id = (FTC_FaceID)This;
scaler.width = (FT_UInt)(inScaleX * 64.);
scaler.height = (FT_UInt)(inScaleY * 64.);
scaler.pixel = (FT_Int)0;
scaler.x_res = (FT_UInt)(inContext->renderState.resolution < GLC_EPSILON ? 72 :
inContext->renderState.resolution);
scaler.y_res = (FT_UInt)(inContext->renderState.resolution < GLC_EPSILON ? 72 :
inContext->renderState.resolution);
if (FTC_Manager_LookupSize(inContext->cache, &scaler, &size)) {
__glcRaiseError(GLC_RESOURCE_ERROR);
return GL_FALSE;
}
This->face = size->face;
This user uses FreeType 2.3.5 on Linux just as I do. But everything works fine
on my side. Furthermore, if this user disables the use of the FreeType cache in
my library then the segfaults disappear.
Any idea of where I should look for ?
Thanks and regards,
Bertrand.
- [ft] Problems with FreeType cache,
bcoconni <=