8000 Catch errors in the 1d branch of Py_affine_transform · matplotlib/matplotlib@16c92ad · GitHub
[go: up one dir, main page]

Skip to content

Commit 16c92ad

Browse files
committed
Catch errors in the 1d branch of Py_affine_transform
1 parent 16a1e06 commit 16c92ad

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/_path_wrapper.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -439,11 +439,16 @@ static PyObject *Py_affine_transform(PyObject *self, PyObject *args, PyObject *k
439439
CALL_CPP("affine_transform", (affine_transform_2d(vertices, trans, result)));
440440
return result.pyobj();
441441
} catch (py::exception) {
442-
numpy::array_view<double, 1> vertices(vertices_obj);
443-
npy_intp dims[] = { vertices.dim(0) };
444-
numpy::array_view<double, 1> result(dims);
445-
CALL_CPP("affine_transform", (affine_transform_1d(vertices, trans, result)));
446-
return result.pyobj();
442+
PyErr_Clear();
443+
try {
444+
numpy::array_view<double, 1> vertices(vertices_obj);
445+
npy_intp dims[] = { vertices.dim(0) };
446+
numpy::array_view<double, 1> result(dims);
447+
CALL_CPP("affine_transform", (affine_transform_1d(vertices, trans, result)));
448+
return result.pyobj();
449+
} catch (py::exception) {
450+
return NULL;
451+
}
447452
}
448453
}
449454

0 commit comments

Comments
 (0)
0