diff --git a/subprojects/robotpy-hal/gen/SimDevice.yml b/subprojects/robotpy-hal/gen/SimDevice.yml index 47486ee35..5975ce78f 100644 --- a/subprojects/robotpy-hal/gen/SimDevice.yml +++ b/subprojects/robotpy-hal/gen/SimDevice.yml @@ -256,8 +256,12 @@ inline_code: | .def_property("value", &SimBoolean::Get, &SimBoolean::Set, release_gil()) .def("__repr__", [](const SimBoolean &self) -> py::str { if (self) { - py::gil_scoped_release release; - return std::string(""; + bool value; + { + py::gil_scoped_release release; + value = self.Get(); + } + return std::string(""; } else { return ""; } @@ -274,8 +278,12 @@ inline_code: | if (!self) { return ""; } else { - py::gil_scoped_release release; - return HALSIM_GetSimDeviceName(self); + const char *name; + { + py::gil_scoped_release release; + name = HALSIM_GetSimDeviceName(self); + } + return name; } #endif }) @@ -299,8 +307,12 @@ inline_code: | .def_property("value", &SimDouble::Get, &SimDouble::Set, release_gil()) .def("__repr__", [](const SimDouble &self) -> py::str { if (self) { - py::gil_scoped_release release; - return ""; + double value; + { + py::gil_scoped_release release; + value = self.Get(); + } + return ""; } else { return ""; } @@ -339,8 +351,12 @@ inline_code: | .def_property("value", &SimInt::Get, &SimInt::Set) .def("__repr__", [](const SimInt &self) -> py::str { if (self) { - py::gil_scoped_release release; - return ""; + int32_t value; + { + py::gil_scoped_release release; + value = self.Get(); + } + return ""; } else { return ""; } @@ -350,8 +366,12 @@ inline_code: | .def_property("value", &SimLong::Get, &SimLong::Set) .def("__repr__", [](const SimLong &self) -> py::str { if (self) { - py::gil_scoped_release release; - return ""; + int64_t value; + { + py::gil_scoped_release release; + value = self.Get(); + } + return ""; } else { return ""; }