From d05ea312effbade4e576682c47716d7efd6da37b Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 5 Nov 2017 17:10:36 +0530 Subject: [PATCH] Fix crash on macOS when failing to get font_descriptor --- kitty/core_text.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kitty/core_text.m b/kitty/core_text.m index fc99fedeb..46c4e99e5 100644 --- a/kitty/core_text.m +++ b/kitty/core_text.m @@ -174,7 +174,7 @@ new(PyTypeObject *type, PyObject *args, PyObject UNUSED *kwds) { Face *self; PyObject *descriptor; float point_sz, dpi; - if(!PyArg_ParseTuple(args, "Off", &descriptor, &point_sz, &dpi)) return NULL; + if (!PyArg_ParseTuple(args, "Off", &descriptor, &point_sz, &dpi)) return NULL; self = (Face *)type->tp_alloc(type, 0); if (self) { CTFontDescriptorRef desc = font_descriptor_from_python(descriptor); @@ -194,7 +194,7 @@ new(PyTypeObject *type, PyObject *args, PyObject UNUSED *kwds) { static void dealloc(Face* self) { - CFRelease(self->descriptor); + if (self->descriptor) CFRelease(self->descriptor); if (self->harfbuzz_font) hb_font_destroy(self->harfbuzz_font); if (self->font) CFRelease(self->font); Py_CLEAR(self->family_name); Py_CLEAR(self->full_name); Py_CLEAR(self->postscript_name); Py_CLEAR(self->path);