ref: 88602ccaf6f22208be9ec37efaf22d4904139079
parent: 99ed3ead5523227b52502401a05834ab81cf40ee
author: Clownacy <Clownacy@users.noreply.github.com>
date: Wed Apr 29 09:07:22 EDT 2020
Do not create glyph textures with no height/width This should fix the issue with cute_spritebatch.h, described in #116.
--- a/src/Font.cpp
+++ b/src/Font.cpp
@@ -1012,17 +1012,18 @@
break;
}
- glyph->backend = RenderBackend_LoadGlyph(bitmap.buffer, bitmap.width, bitmap.rows, bitmap.pitch);
+ // Don't bother loading glyphs that don't have an image (causes `cute_spritebatch.h` to freak-out)
+ if (bitmap.width == 0 || bitmap.rows == 0)
+ glyph->backend = NULL;
+ else
+ glyph->backend = RenderBackend_LoadGlyph(bitmap.buffer, bitmap.width, bitmap.rows, bitmap.pitch);
FT_Bitmap_Done(font_object->library, &bitmap);
- if (glyph->backend != NULL)
- {
- glyph->next = font_object->glyph_list_head;
- font_object->glyph_list_head = glyph;
+ glyph->next = font_object->glyph_list_head;
+ font_object->glyph_list_head = glyph;
- return glyph;
- }
+ return glyph;
}
FT_Bitmap_Done(font_object->library, &bitmap);
@@ -1041,7 +1042,9 @@
{
CachedGlyph *next_glyph = glyph->next;
- RenderBackend_UnloadGlyph(glyph->backend);
+ if (glyph->backend != NULL)
+ RenderBackend_UnloadGlyph(glyph->backend);
+
free(glyph);
glyph = next_glyph;