fix: fix Font Preview crash if opened manually
This commit is contained in:
@@ -345,8 +345,13 @@ extern "C" void _start() {
|
||||
g_preview_data = (uint8_t*)montauk::malloc(size);
|
||||
if (g_preview_data) {
|
||||
montauk::read(fd, g_preview_data, 0, size);
|
||||
if (stbtt_InitFont(&g_preview_info, g_preview_data,
|
||||
stbtt_GetFontOffsetForIndex(g_preview_data, 0))) {
|
||||
// stbtt_GetFontOffsetForIndex returns -1 for anything that
|
||||
// isn't a valid font (e.g. a directory or arbitrary file).
|
||||
// Passing that -1 into stbtt_InitFont makes it read at
|
||||
// data + (uint32)-1, faulting. Guard against it.
|
||||
int off = stbtt_GetFontOffsetForIndex(g_preview_data, 0);
|
||||
if (off >= 0 &&
|
||||
stbtt_InitFont(&g_preview_info, g_preview_data, off)) {
|
||||
g_load_ok = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,3 +6,9 @@ icon = "font-viewer.svg"
|
||||
[menu]
|
||||
category = "Applications"
|
||||
visible = false
|
||||
|
||||
[launch]
|
||||
# Font Preview only opens an explicit font file; it has no use for a
|
||||
# starting directory. Don't hand it home_dir when launched from the Apps
|
||||
# folder (it would try to parse the directory path as a font).
|
||||
pass_home_dir = false
|
||||
|
||||
Reference in New Issue
Block a user