diff options
-rw-r--r-- | source/blender/python/generic/imbuf_py_api.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/python/generic/imbuf_py_api.c b/source/blender/python/generic/imbuf_py_api.c index f2974239b9b..2a71991f88c 100644 --- a/source/blender/python/generic/imbuf_py_api.c +++ b/source/blender/python/generic/imbuf_py_api.c @@ -173,7 +173,15 @@ PyDoc_STRVAR(py_imbuf_copy_doc, static PyObject *py_imbuf_copy(Py_ImBuf *self) { PY_IMBUF_CHECK_OBJ(self); - return Py_ImBuf_CreatePyObject(self->ibuf); + ImBuf *ibuf_copy = IMB_dupImBuf(self->ibuf); + + if (UNLIKELY(ibuf_copy == NULL)) { + PyErr_SetString(PyExc_MemoryError, + "ImBuf.copy(): " + "failed to allocate memory memory"); + return NULL; + } + return Py_ImBuf_CreatePyObject(ibuf_copy); } static PyObject *py_imbuf_deepcopy(Py_ImBuf *self, PyObject *args) |