Index: src/smooth/ftspic.c |
diff --git a/src/smooth/ftspic.c b/src/smooth/ftspic.c |
index 601bcf98a9d18e6b8f80f8686f6b240549141f9f..67a2b8310cbbcd8e37e95c2784d9dfca3e4fb7a9 100644 |
--- a/src/smooth/ftspic.c |
+++ b/src/smooth/ftspic.c |
@@ -4,7 +4,7 @@ |
/* */ |
/* The FreeType position independent code services for smooth module. */ |
/* */ |
-/* Copyright 2009, 2010 by */ |
+/* Copyright 2009, 2010, 2012, 2013 by */ |
/* Oran Agra and Mickey Gabel. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -22,17 +22,19 @@ |
#include "ftspic.h" |
#include "ftsmerrs.h" |
+ |
#ifdef FT_CONFIG_OPTION_PIC |
/* forward declaration of PIC init functions from ftgrays.c */ |
void |
FT_Init_Class_ft_grays_raster( FT_Raster_Funcs* funcs ); |
+ |
void |
ft_smooth_renderer_class_pic_free( FT_Library library ) |
{ |
FT_PIC_Container* pic_container = &library->pic_container; |
- FT_Memory memory = library->memory; |
+ FT_Memory memory = library->memory; |
if ( pic_container->smooth ) |
@@ -42,6 +44,7 @@ |
if ( --container->ref_count ) |
return; |
+ |
FT_FREE( container ); |
pic_container->smooth = NULL; |
} |
@@ -52,8 +55,8 @@ |
ft_smooth_renderer_class_pic_init( FT_Library library ) |
{ |
FT_PIC_Container* pic_container = &library->pic_container; |
- FT_Error error = Smooth_Err_Ok; |
- SmoothPIC* container; |
+ FT_Error error = FT_Err_Ok; |
+ SmoothPIC* container = NULL; |
FT_Memory memory = library->memory; |
@@ -66,37 +69,45 @@ |
} |
/* allocate pointer, clear and set global container pointer */ |
- if ( FT_ALLOC ( container, sizeof ( *container ) ) ) |
+ if ( FT_ALLOC( container, sizeof ( *container ) ) ) |
return error; |
FT_MEM_SET( container, 0, sizeof ( *container ) ); |
pic_container->smooth = container; |
+ |
container->ref_count = 1; |
- /* initialize pointer table - this is how the module usually expects this data */ |
+ /* initialize pointer table - */ |
+ /* this is how the module usually expects this data */ |
FT_Init_Class_ft_grays_raster( &container->ft_grays_raster ); |
-/*Exit:*/ |
- if ( error ) |
- ft_smooth_renderer_class_pic_free( library ); |
+ |
return error; |
} |
+ |
/* re-route these init and free functions to the above functions */ |
- FT_Error ft_smooth_lcd_renderer_class_pic_init( FT_Library library ) |
+ FT_Error |
+ ft_smooth_lcd_renderer_class_pic_init( FT_Library library ) |
{ |
return ft_smooth_renderer_class_pic_init( library ); |
} |
- void ft_smooth_lcd_renderer_class_pic_free( FT_Library library ) |
+ |
+ void |
+ ft_smooth_lcd_renderer_class_pic_free( FT_Library library ) |
{ |
ft_smooth_renderer_class_pic_free( library ); |
} |
- FT_Error ft_smooth_lcdv_renderer_class_pic_init( FT_Library library ) |
+ |
+ FT_Error |
+ ft_smooth_lcdv_renderer_class_pic_init( FT_Library library ) |
{ |
return ft_smooth_renderer_class_pic_init( library ); |
} |
- void ft_smooth_lcdv_renderer_class_pic_free( FT_Library library ) |
+ |
+ void |
+ ft_smooth_lcdv_renderer_class_pic_free( FT_Library library ) |
{ |
ft_smooth_renderer_class_pic_free( library ); |
} |