From 4d4368389945b2b78e5d4f89b544a837bc157930 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 8 Apr 2021 16:12:52 +1000 Subject: PyAPI: ImBuf.copy now copies the underlying imbuf Without this, copy wasn't useful. --- source/blender/python/generic/imbuf_py_api.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3