From bd328d4275b6b2bf6dc808ab3d0294005098c69a Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Thu, 27 Oct 2022 21:23:41 +0200 Subject: [PATCH] address windows-related compilation errors/warnings --- ext/nanobind | 2 +- src/python/vector.cpp | 12 ++++++------ src/python/widget.cpp | 12 ++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/ext/nanobind b/ext/nanobind index 01066565..61393ad3 160000 --- a/ext/nanobind +++ b/ext/nanobind @@ -1 +1 @@ -Subproject commit 01066565016075e0684d4d53f43d0eec038efad2 +Subproject commit 61393ad3ce3bc68d195a1496422df43d5fb45ec0 diff --git a/src/python/vector.cpp b/src/python/vector.cpp index 90737efd..aee65f42 100644 --- a/src/python/vector.cpp +++ b/src/python/vector.cpp @@ -23,7 +23,7 @@ auto register_vector_type(nb::module_ &m, const char *name) { .def(nb::init()) .def("__init__", [](Array &a, const std::array &arr) { new (&a) Array(); - for (size_t i = 0; i < Size; ++i) + for (size_t i = 0; i < Array::Size; ++i) a[i] = arr[i]; }) .def(nb::self == nb::self) @@ -40,13 +40,13 @@ auto register_vector_type(nb::module_ &m, const char *name) { .def(nb::self -= nb::self) .def(nb::self *= nb::self) .def(nb::self /= nb::self) - .def("__getitem__", [Size](const Array &a, size_t index) -> Value { - if (index >= Size) + .def("__getitem__", [](const Array &a, size_t index) -> Value { + if (index >= Array::Size) throw nb::index_error(); return a[index]; }, "index"_a) - .def("__setitem__", [Size](Array &a, size_t index, Value value) { - if (index >= Size) + .def("__setitem__", [](Array &a, size_t index, Value value) { + if (index >= Array::Size) throw nb::index_error(); a[index] = value; }, "index"_a, "value"_a) @@ -56,7 +56,7 @@ auto register_vector_type(nb::module_ &m, const char *name) { [](Array &a, const Value &v) { a.y() = v; }) .def("__dlpack__", [](nb::handle_t self) { const Array &a = nb::cast(self); - const size_t shape[1] = { Size }; + const size_t shape[1] = { Array::Size }; return nb::tensor((void *) a.data(), 1, shape, self); }) .def("__repr__", [](const Array &a) { diff --git a/src/python/widget.cpp b/src/python/widget.cpp index bb71e745..eb00bb82 100644 --- a/src/python/widget.cpp +++ b/src/python/widget.cpp @@ -31,16 +31,16 @@ int widget_tp_traverse_base(PyObject *self, visitproc visit, void *arg, PyTypeOb continue; PyObject *args[] = { self }; - PyObject *value = PyObject_VectorcallMethod( + PyObject *result = PyObject_VectorcallMethod( key, args, 1 | PY_VECTORCALL_ARGUMENTS_OFFSET, nullptr); - if (!value) { + if (!result) { PyErr_Clear(); continue; } - Py_VISIT(value); - Py_DECREF(value); + Py_VISIT(result); + Py_DECREF(result); } if (strcmp(tp->tp_name, "nanogui.Widget") != 0) { @@ -73,8 +73,8 @@ int widget_tp_traverse(PyObject *self, visitproc visit, void *arg) { int widget_tp_clear(PyObject *self) { Widget *w = nb::inst_ptr(self); - size_t count = w->child_count(); - for (size_t i = 0; i < count; ++i) + int count = w->child_count(); + for (int i = 0; i < count; ++i) w->remove_child_at(count - 1 - i); return 0;