diff options
author | Eric Vannier <evannier@google.com> | 2012-03-22 16:08:33 -0700 |
---|---|---|
committer | Geremy Condra <gcondra@google.com> | 2012-04-20 14:53:55 -0700 |
commit | 41371e1e39c8528eb0c4bc40683c736e6683e60c (patch) | |
tree | ba563af45d79cd0832305fe3833919bb2475f186 /src/psnames/pspic.c | |
parent | 27811904d8de0ce5591417812ca31163bf5aad60 (diff) | |
download | android_external_freetype-41371e1e39c8528eb0c4bc40683c736e6683e60c.tar.gz android_external_freetype-41371e1e39c8528eb0c4bc40683c736e6683e60c.tar.bz2 android_external_freetype-41371e1e39c8528eb0c4bc40683c736e6683e60c.zip |
Update to freetype 2.4.9
This was done by applying the entire 2.4.9 except for the following exceptions:
- files that were new, or were not present originally in the version of
freetype we were using (meaning that they are present in 2.4.8, and in
2.4.9, but were never integrated into the Android tree because they are
not used in the Android tree).
- ftmodule.h: given that we support fewer modules than in upstream 2.4.9
(same as Android), the file was left unchanged (and there were no changes
from the official 2.4.8 to 2.4.9
- ftoption.h: same reasons as ftmodule.h
Change-Id: Id251f2cc5ca1c864f9a4cc0c67b94025ee3ccc4a
Diffstat (limited to 'src/psnames/pspic.c')
-rw-r--r-- | src/psnames/pspic.c | 45 |
1 files changed, 30 insertions, 15 deletions
diff --git a/src/psnames/pspic.c b/src/psnames/pspic.c index b9075d5..467ab73 100644 --- a/src/psnames/pspic.c +++ b/src/psnames/pspic.c @@ -20,24 +20,37 @@ #include FT_FREETYPE_H #include FT_INTERNAL_OBJECTS_H #include "pspic.h" +#include "psnamerr.h" #ifdef FT_CONFIG_OPTION_PIC /* forward declaration of PIC init functions from psmodule.c */ - FT_Error FT_Create_Class_pscmaps_services( FT_Library, FT_ServiceDescRec**); - void FT_Destroy_Class_pscmaps_services( FT_Library, FT_ServiceDescRec*); - void FT_Init_Class_pscmaps_interface( FT_Library, FT_Service_PsCMapsRec*); + FT_Error + FT_Create_Class_pscmaps_services( FT_Library library, + FT_ServiceDescRec** output_class ); + void + FT_Destroy_Class_pscmaps_services( FT_Library library, + FT_ServiceDescRec* clazz ); void - psnames_module_class_pic_free( FT_Library library ) + FT_Init_Class_pscmaps_interface( FT_Library library, + FT_Service_PsCMapsRec* clazz ); + + void + psnames_module_class_pic_free( FT_Library library ) { - FT_PIC_Container* pic_container = &library->pic_container; - FT_Memory memory = library->memory; + FT_PIC_Container* pic_container = &library->pic_container; + FT_Memory memory = library->memory; + + if ( pic_container->psnames ) { - PSModulePIC* container = (PSModulePIC*)pic_container->psnames; + PSModulePIC* container = (PSModulePIC*)pic_container->psnames; + + if(container->pscmaps_services) - FT_Destroy_Class_pscmaps_services(library, container->pscmaps_services); + FT_Destroy_Class_pscmaps_services( library, + container->pscmaps_services ); container->pscmaps_services = NULL; FT_FREE( container ); pic_container->psnames = NULL; @@ -57,18 +70,20 @@ /* allocate pointer, clear and set global container pointer */ if ( FT_ALLOC ( container, sizeof ( *container ) ) ) return error; - FT_MEM_SET( container, 0, sizeof(*container) ); + FT_MEM_SET( container, 0, sizeof ( *container ) ); pic_container->psnames = container; /* initialize pointer table - this is how the module usually expects this data */ - error = FT_Create_Class_pscmaps_services(library, &container->pscmaps_services); - if(error) + error = FT_Create_Class_pscmaps_services( + library, &container->pscmaps_services ); + if ( error ) goto Exit; - FT_Init_Class_pscmaps_interface(library, &container->pscmaps_interface); - + FT_Init_Class_pscmaps_interface( library, + &container->pscmaps_interface ); + Exit: - if(error) - psnames_module_class_pic_free(library); + if ( error ) + psnames_module_class_pic_free( library ); return error; } |