diff --git a/include/freetype/fterrors.h b/include/freetype/fterrors.h index c33ecf6f7..4dda5163c 100644 --- a/include/freetype/fterrors.h +++ b/include/freetype/fterrors.h @@ -18,9 +18,9 @@ /*************************************************************************/ /* */ - /* This file is used to define the FreeType error enumeration constants */ + /* This file is used to define the FreeType error enumeration constants. */ /* It can also be used to create an error message table easily with */ - /* something like: */ + /* something like */ /* */ /* { */ /* #undef FTERRORS_H */ @@ -62,91 +62,105 @@ FT_ERROR_START_LIST #endif + /* generic errors */ + FT_ERRORDEF( FT_Err_Ok, 0x0000, \ "no error" ) FT_ERRORDEF( FT_Err_Cannot_Open_Resource, 0x0001, \ - "can't open stream" ) + "cannot open resource" ) FT_ERRORDEF( FT_Err_Unknown_File_Format, 0x0002, \ "unknown file format" ) FT_ERRORDEF( FT_Err_Invalid_File_Format, 0x0003, \ "broken file" ) - - FT_ERRORDEF( FT_Err_Invalid_Argument, 0x0010, \ - "invalid argument" ) - FT_ERRORDEF( FT_Err_Invalid_Handle, 0x0011, \ - "invalid object handle" ) - FT_ERRORDEF( FT_Err_Invalid_Glyph_Index, 0x0012, \ - "invalid glyph index" ) - FT_ERRORDEF( FT_Err_Invalid_Character_Code, 0x0013, \ - "invalid character code" ) - - FT_ERRORDEF( FT_Err_Unimplemented_Feature, 0x0020, \ - "unimplemented feature" ) - FT_ERRORDEF( FT_Err_Invalid_Glyph_Format, 0x0021, \ - "unsupported glyph image format" ) - FT_ERRORDEF( FT_Err_Cannot_Render_Glyph, 0x0022, \ - "cannot render this glyph format" ) - - FT_ERRORDEF( FT_Err_Invalid_Library_Handle, 0x0030, \ - "invalid library handle" ) - FT_ERRORDEF( FT_Err_Invalid_Driver_Handle, 0x0031, \ - "invalid module handle" ) - FT_ERRORDEF( FT_Err_Invalid_Face_Handle, 0x0032, \ - "invalid face handle" ) - FT_ERRORDEF( FT_Err_Invalid_Size_Handle, 0x0033, \ - "invalid size handle" ) - FT_ERRORDEF( FT_Err_Invalid_Slot_Handle, 0x0034, \ - "invalid glyph slot handle" ) - FT_ERRORDEF( FT_Err_Invalid_CharMap_Handle, 0x0035, \ - "invalid charmap handle" ) - FT_ERRORDEF( FT_Err_Invalid_Outline, 0x0036, \ - "invalid outline" ) - FT_ERRORDEF( FT_Err_Invalid_Version, 0x0037, \ + FT_ERRORDEF( FT_Err_Invalid_Version, 0x0004, \ "invalid FreeType version" ) - FT_ERRORDEF( FT_Err_Lower_Module_Version, 0x0038, \ + FT_ERRORDEF( FT_Err_Lower_Module_Version, 0x0005, \ "module version is too low" ) + FT_ERRORDEF( FT_Err_Invalid_Argument, 0x0006, \ + "invalid argument" ) + FT_ERRORDEF( FT_Err_Unimplemented_Feature, 0x0007, \ + "unimplemented feature" ) - FT_ERRORDEF( FT_Err_Too_Many_Drivers, 0x0040, \ - "too many modules" ) - FT_ERRORDEF( FT_Err_Too_Many_Extensions, 0x0041, \ - "too many extensions" ) + /* glyph/character errors */ - FT_ERRORDEF( FT_Err_Out_Of_Memory, 0x0050, \ - "out of memory" ) - FT_ERRORDEF( FT_Err_Unlisted_Object, 0x0051, \ - "unlisted object" ) - - FT_ERRORDEF( FT_Err_Invalid_Stream_Handle, 0x0060, \ - "invalid stream handle" ) - FT_ERRORDEF( FT_Err_Cannot_Open_Stream, 0x0061, \ - "cannot open stream" ) - FT_ERRORDEF( FT_Err_Invalid_Stream_Seek, 0x0062, \ - "invalid stream seek" ) - FT_ERRORDEF( FT_Err_Invalid_Stream_Skip, 0x0063, \ - "invalid stream skip" ) - FT_ERRORDEF( FT_Err_Invalid_Stream_Read, 0x0064, \ - "invalid stream read" ) - FT_ERRORDEF( FT_Err_Invalid_Stream_Operation, 0x0065, \ - "invalid stream operation" ) - FT_ERRORDEF( FT_Err_Invalid_Frame_Operation, 0x0066, \ - "invalid frame operation" ) - FT_ERRORDEF( FT_Err_Nested_Frame_Access, 0x0067, \ - "nested frame access" ) - FT_ERRORDEF( FT_Err_Invalid_Frame_Read, 0x0068, \ - "invalid frame read" ) - - FT_ERRORDEF( FT_Err_Invalid_Composite, 0x0070, \ + FT_ERRORDEF( FT_Err_Invalid_Glyph_Index, 0x0010, \ + "invalid glyph index" ) + FT_ERRORDEF( FT_Err_Invalid_Character_Code, 0x0011, \ + "invalid character code" ) + FT_ERRORDEF( FT_Err_Invalid_Glyph_Format, 0x0012, \ + "unsupported glyph image format" ) + FT_ERRORDEF( FT_Err_Cannot_Render_Glyph, 0x0013, \ + "cannot render this glyph format" ) + FT_ERRORDEF( FT_Err_Invalid_Outline, 0x0014, \ + "invalid outline" ) + FT_ERRORDEF( FT_Err_Invalid_Composite, 0x0015, \ "invalid composite glyph" ) - FT_ERRORDEF( FT_Err_Too_Many_Hints, 0x0071, \ + FT_ERRORDEF( FT_Err_Too_Many_Hints, 0x0016, \ "too many hints" ) - FT_ERRORDEF( FT_Err_Raster_Uninitialized, 0x0080, \ + /* handle errors */ + + FT_ERRORDEF( FT_Err_Invalid_Handle, 0x0020, \ + "invalid object handle" ) + FT_ERRORDEF( FT_Err_Invalid_Library_Handle, 0x0021, \ + "invalid library handle" ) + FT_ERRORDEF( FT_Err_Invalid_Driver_Handle, 0x0022, \ + "invalid module handle" ) + FT_ERRORDEF( FT_Err_Invalid_Face_Handle, 0x0023, \ + "invalid face handle" ) + FT_ERRORDEF( FT_Err_Invalid_Size_Handle, 0x0024, \ + "invalid size handle" ) + FT_ERRORDEF( FT_Err_Invalid_Slot_Handle, 0x0025, \ + "invalid glyph slot handle" ) + FT_ERRORDEF( FT_Err_Invalid_CharMap_Handle, 0x0026, \ + "invalid charmap handle" ) + FT_ERRORDEF( FT_Err_Invalid_Cache_Handle, 0x0027, \ + "invalid cache manager handle" ) + FT_ERRORDEF( FT_Err_Invalid_Stream_Handle, 0x0028, \ + "invalid stream handle" ) + + /* driver errors */ + + FT_ERRORDEF( FT_Err_Too_Many_Drivers, 0x0030, \ + "too many modules" ) + FT_ERRORDEF( FT_Err_Too_Many_Extensions, 0x0031, \ + "too many extensions" ) + + /* memory errors */ + + FT_ERRORDEF( FT_Err_Out_Of_Memory, 0x0040, \ + "out of memory" ) + FT_ERRORDEF( FT_Err_Unlisted_Object, 0x0041, \ + "unlisted object" ) + + /* stream errors */ + + FT_ERRORDEF( FT_Err_Cannot_Open_Stream, 0x0051, \ + "cannot open stream" ) + FT_ERRORDEF( FT_Err_Invalid_Stream_Seek, 0x0052, \ + "invalid stream seek" ) + FT_ERRORDEF( FT_Err_Invalid_Stream_Skip, 0x0053, \ + "invalid stream skip" ) + FT_ERRORDEF( FT_Err_Invalid_Stream_Read, 0x0054, \ + "invalid stream read" ) + FT_ERRORDEF( FT_Err_Invalid_Stream_Operation, 0x0055, \ + "invalid stream operation" ) + FT_ERRORDEF( FT_Err_Invalid_Frame_Operation, 0x0056, \ + "invalid frame operation" ) + FT_ERRORDEF( FT_Err_Nested_Frame_Access, 0x0057, \ + "nested frame access" ) + FT_ERRORDEF( FT_Err_Invalid_Frame_Read, 0x0058, \ + "invalid frame read" ) + + /* raster errors */ + + FT_ERRORDEF( FT_Err_Raster_Uninitialized, 0x0060, \ "raster uninitialized" ) - FT_ERRORDEF( FT_Err_Raster_Corrupted, 0x0081, \ + FT_ERRORDEF( FT_Err_Raster_Corrupted, 0x0061, \ "raster corrupted" ) - FT_ERRORDEF( FT_Err_Raster_Overflow, 0x0082, \ + FT_ERRORDEF( FT_Err_Raster_Overflow, 0x0062, \ "raster overflow" ) - FT_ERRORDEF( FT_Err_Raster_Negative_Height, 0x0083, \ + FT_ERRORDEF( FT_Err_Raster_Negative_Height, 0x0063, \ "negative height while rastering" ) /* range 0x400 - 0x4FF is reserved for TrueType specific stuff */ diff --git a/src/cache/ftcimage.c b/src/cache/ftcimage.c index 761703e6b..63d0a16b8 100644 --- a/src/cache/ftcimage.c +++ b/src/cache/ftcimage.c @@ -613,7 +613,10 @@ FTC_Image_Cache cache; - if ( !acache || !manager || !manager->library ) + if ( !manager ) + return FT_Err_Invalid_Cache_Handle; + + if ( !acache || !manager->library ) return FT_Err_Invalid_Argument; *acache = 0; diff --git a/src/cache/ftcmanag.c b/src/cache/ftcmanag.c index 828b63733..740e71d3b 100644 --- a/src/cache/ftcmanag.c +++ b/src/cache/ftcmanag.c @@ -293,7 +293,7 @@ FT_Face* aface ) { if ( !manager ) - return FT_Err_Invalid_Argument; + return FT_Err_Invalid_Cache_Handle; return FT_Lru_Lookup( manager->faces_lru, (FT_LruKey)face_id,