mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-03-23 19:44:13 +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);
|
PyMem_Free(filename);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self->face = NULL;
|
||||||
|
|
||||||
if (filename && font_bytes_size <= 0) {
|
if (filename && font_bytes_size <= 0) {
|
||||||
self->font_bytes = NULL;
|
self->font_bytes = NULL;
|
||||||
error = FT_New_Face(library, filename, index, &self->face);
|
error = FT_New_Face(library, filename, index, &self->face);
|
||||||
|
@ -153,7 +155,7 @@ getfont(PyObject* self_, PyObject* args, PyObject* kw)
|
||||||
if (self->font_bytes) {
|
if (self->font_bytes) {
|
||||||
PyMem_Free(self->font_bytes);
|
PyMem_Free(self->font_bytes);
|
||||||
}
|
}
|
||||||
PyObject_Del(self);
|
Py_DECREF(self);
|
||||||
return geterror(error);
|
return geterror(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -440,7 +442,9 @@ font_render(FontObject* self, PyObject* args)
|
||||||
static void
|
static void
|
||||||
font_dealloc(FontObject* self)
|
font_dealloc(FontObject* self)
|
||||||
{
|
{
|
||||||
FT_Done_Face(self->face);
|
if (self->face) {
|
||||||
|
FT_Done_Face(self->face);
|
||||||
|
}
|
||||||
if (self->font_bytes) {
|
if (self->font_bytes) {
|
||||||
PyMem_Free(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);
|
NULL);
|
||||||
if (mapper->hFile == (HANDLE)-1) {
|
if (mapper->hFile == (HANDLE)-1) {
|
||||||
PyErr_SetString(PyExc_IOError, "cannot open file");
|
PyErr_SetString(PyExc_IOError, "cannot open file");
|
||||||
PyObject_Del(mapper);
|
Py_DECREF(mapper);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ PyImaging_MapperNew(const char* filename, int readonly)
|
||||||
if (mapper->hMap == (HANDLE)-1) {
|
if (mapper->hMap == (HANDLE)-1) {
|
||||||
CloseHandle(mapper->hFile);
|
CloseHandle(mapper->hFile);
|
||||||
PyErr_SetString(PyExc_IOError, "cannot map file");
|
PyErr_SetString(PyExc_IOError, "cannot map file");
|
||||||
PyObject_Del(mapper);
|
Py_DECREF(mapper);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user