summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/freetype/ftglyph.h6
-rw-r--r--src/base/ftglyph.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/include/freetype/ftglyph.h b/include/freetype/ftglyph.h
index 6b77bd3d2..b9235463f 100644
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -355,7 +355,7 @@ FT_BEGIN_HEADER
*
* @output:
* aglyph ::
- * A handle to the glyph object.
+ * A handle to the glyph object. `NULL` in case of error.
*
* @return:
* FreeType error code. 0~means success.
@@ -385,7 +385,7 @@ FT_BEGIN_HEADER
*
* @output:
* target ::
- * A handle to the target glyph object. 0~in case of error.
+ * A handle to the target glyph object. `NULL` in case of error.
*
* @return:
* FreeType error code. 0~means success.
@@ -671,7 +671,7 @@ FT_BEGIN_HEADER
*
* @input:
* glyph ::
- * A handle to the target glyph object.
+ * A handle to the target glyph object. Can be `NULL`.
*/
FT_EXPORT( void )
FT_Done_Glyph( FT_Glyph glyph );
diff --git a/src/base/ftglyph.c b/src/base/ftglyph.c
index 571dca1a9..5873438cd 100644
--- a/src/base/ftglyph.c
+++ b/src/base/ftglyph.c
@@ -682,7 +682,10 @@
Exit2:
/* if an error occurred, destroy the glyph */
if ( error )
+ {
FT_Done_Glyph( glyph );
+ *aglyph = NULL;
+ }
else
*aglyph = glyph;