[Bf-blender-cvs] [4d436838994] master: PyAPI: ImBuf.copy now copies the underlying imbuf

Campbell Barton noreply at git.blender.org
Thu Apr 8 12:40:50 CEST 2021


Commit: 4d4368389945b2b78e5d4f89b544a837bc157930
Author: Campbell Barton
Date:   Thu Apr 8 16:12:52 2021 +1000
Branches: master
https://developer.blender.org/rB4d4368389945b2b78e5d4f89b544a837bc157930

PyAPI: ImBuf.copy now copies the underlying imbuf

Without this, copy wasn't useful.

===================================================================

M	source/blender/python/generic/imbuf_py_api.c

===================================================================

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)



More information about the Bf-blender-cvs mailing list