diff options
| author | Ray <raysan5@gmail.com> | 2019-02-24 12:41:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-24 12:41:11 +0100 |
| commit | 32c61b1fa0736113517357e1c116acdf1b021115 (patch) | |
| tree | fa579f6d03bde2959b55c3b88f7df7142fce7f6a /src | |
| parent | 56c79a10de02781a198224216ea57bc1922fd0ff (diff) | |
| parent | fc11b360af4ea70adbbfd732512880bce18347b4 (diff) | |
| download | raylib-32c61b1fa0736113517357e1c116acdf1b021115.tar.gz raylib-32c61b1fa0736113517357e1c116acdf1b021115.zip | |
Merge pull request #767 from Skabunkel/master
Fixed segmentation fult created by quick fix
Diffstat (limited to 'src')
| -rw-r--r-- | src/text.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -430,6 +430,7 @@ Font LoadFontFromImage(Image image, Color key, int firstChar) spriteFont.chars[i].offsetX = 0; spriteFont.chars[i].offsetY = 0; spriteFont.chars[i].advanceX = 0; + spriteFont.chars[i].data = NULL; } spriteFont.baseSize = (int)spriteFont.chars[0].rec.height; @@ -511,6 +512,7 @@ CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int c if (type != FONT_SDF) chars[i].data = stbtt_GetCodepointBitmap(&fontInfo, scaleFactor, scaleFactor, ch, &chw, &chh, &chars[i].offsetX, &chars[i].offsetY); else if (ch != 32) chars[i].data = stbtt_GetCodepointSDF(&fontInfo, scaleFactor, ch, SDF_CHAR_PADDING, SDF_ON_EDGE_VALUE, SDF_PIXEL_DIST_SCALE, &chw, &chh, &chars[i].offsetX, &chars[i].offsetY); + else chars[i].data = NULL; if (type == FONT_BITMAP) { @@ -686,7 +688,8 @@ void UnloadFont(Font font) { for (int i = 0; i < font.charsCount; i++) { - free(font.chars[i].data); + if(font.chars[i].data != NULL) + free(font.chars[i].data); } UnloadTexture(font.texture); free(font.chars); @@ -1442,6 +1445,7 @@ static Font LoadBMFont(const char *fileName) font.chars[i].offsetX = charOffsetX; font.chars[i].offsetY = charOffsetY; font.chars[i].advanceX = charAdvanceX; + font.chars[i].data = NULL; } fclose(fntFile); |
