mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-03-13 17:25:49 +03:00
Merge pull request #1936 from wiredfool/unref_error
Fix "Fatal Python error: UNREF invalid object" in debug builds
This commit is contained in:
commit
a83ae6caee
10
_imagingft.c
10
_imagingft.c
|
@ -119,7 +119,9 @@ getfont(PyObject* self_, PyObject* args, PyObject* kw)
|
|||
PyMem_Free(filename);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
self->face = NULL;
|
||||
|
||||
if (filename && font_bytes_size <= 0) {
|
||||
self->font_bytes = NULL;
|
||||
error = FT_New_Face(library, filename, index, &self->face);
|
||||
|
@ -153,7 +155,7 @@ getfont(PyObject* self_, PyObject* args, PyObject* kw)
|
|||
if (self->font_bytes) {
|
||||
PyMem_Free(self->font_bytes);
|
||||
}
|
||||
PyObject_Del(self);
|
||||
Py_DECREF(self);
|
||||
return geterror(error);
|
||||
}
|
||||
|
||||
|
@ -440,7 +442,9 @@ font_render(FontObject* self, PyObject* args)
|
|||
static void
|
||||
font_dealloc(FontObject* self)
|
||||
{
|
||||
FT_Done_Face(self->face);
|
||||
if (self->face) {
|
||||
FT_Done_Face(self->face);
|
||||
}
|
||||
if (self->font_bytes) {
|
||||
PyMem_Free(self->font_bytes);
|
||||
}
|
||||
|
|
4
map.c
4
map.c
|
@ -73,7 +73,7 @@ PyImaging_MapperNew(const char* filename, int readonly)
|
|||
NULL);
|
||||
if (mapper->hFile == (HANDLE)-1) {
|
||||
PyErr_SetString(PyExc_IOError, "cannot open file");
|
||||
PyObject_Del(mapper);
|
||||
Py_DECREF(mapper);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,7 @@ PyImaging_MapperNew(const char* filename, int readonly)
|
|||
if (mapper->hMap == (HANDLE)-1) {
|
||||
CloseHandle(mapper->hFile);
|
||||
PyErr_SetString(PyExc_IOError, "cannot map file");
|
||||
PyObject_Del(mapper);
|
||||
Py_DECREF(mapper);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user