From 5d6a3fbc1e5d7be3f8a37bf16b8784eb8593c3df Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Tue, 27 May 2014 01:40:29 -0500 Subject: [PATCH] Fix new buffer interface usage in set_arg --- src/wrapper/wrap_cl.hpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/wrapper/wrap_cl.hpp b/src/wrapper/wrap_cl.hpp index 5c9ddd6e..af524fd9 100644 --- a/src/wrapper/wrap_cl.hpp +++ b/src/wrapper/wrap_cl.hpp @@ -3590,7 +3590,16 @@ namespace pyopencl #ifdef PYOPENCL_USE_NEW_BUFFER_INTERFACE py_buffer_wrapper buf_wrapper; - buf_wrapper.get(py_buffer.ptr(), PyBUF_ANY_CONTIGUOUS); + try + { + buf_wrapper.get(py_buffer.ptr(), PyBUF_ANY_CONTIGUOUS); + } + catch (py::error_already_set) + { + PyErr_Clear(); + throw error("Kernel.set_arg", CL_INVALID_VALUE, + "invalid kernel argument"); + } buf = buf_wrapper.m_buf.buf; len = buf_wrapper.m_buf.len; -- GitLab