diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py index 68e378a20f88..80261b0ddb19 100644 --- a/lib/matplotlib/tests/test_lines.py +++ b/lib/matplotlib/tests/test_lines.py @@ -246,6 +246,8 @@ def test_is_sorted_and_has_non_nan(): assert _path.is_sorted_and_has_non_nan(np.array([1, 2, 3])) assert _path.is_sorted_and_has_non_nan(np.array([1, np.nan, 3])) assert not _path.is_sorted_and_has_non_nan([3, 5] + [np.nan] * 100 + [0, 2]) + # [2, 256] byteswapped: + assert not _path.is_sorted_and_has_non_nan(np.array([33554432, 65536], ">i4")) n = 2 * mlines.Line2D._subslice_optim_min_size plt.plot([np.nan] * n, range(n)) diff --git a/src/_path_wrapper.cpp b/src/_path_wrapper.cpp index cdab886d86df..72774576574a 100644 --- a/src/_path_wrapper.cpp +++ b/src/_path_wrapper.cpp @@ -707,8 +707,8 @@ static PyObject *Py_is_sorted_and_has_non_nan(PyObject *self, PyObject *obj) { bool result; - PyArrayObject *array = (PyArrayObject *)PyArray_FromAny( - obj, NULL, 1, 1, 0, NULL); + PyArrayObject *array = (PyArrayObject *)PyArray_CheckFromAny( + obj, NULL, 1, 1, NPY_ARRAY_NOTSWAPPED, NULL); if (array == NULL) { return NULL;