From 74a4a777627029dc51d4b1df89bedda501dc7543 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Thu, 7 Dec 2017 18:06:40 +0200 Subject: Fix Python bindings for Connector::get_possible_crtcs() method The method returns an std::vector of DRMObject, which isn't supported by the latest pybind11 as explained in commit 706a44abb3aa. Fix it by wrapping the method manually. Fixes: 706a44abb3aa ("Update to latest pybind11") Signed-off-by: Laurent Pinchart Signed-off-by: Tomi Valkeinen --- py/pykms/pykmsbase.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'py/pykms/pykmsbase.cpp') diff --git a/py/pykms/pykmsbase.cpp b/py/pykms/pykmsbase.cpp index 96ebe7a..79c502c 100644 --- a/py/pykms/pykmsbase.cpp +++ b/py/pykms/pykmsbase.cpp @@ -54,7 +54,12 @@ void init_pykmsbase(py::module &m) .def_property_readonly("fullname", &Connector::fullname) .def("get_default_mode", &Connector::get_default_mode) .def("get_current_crtc", &Connector::get_current_crtc) - .def("get_possible_crtcs", &Connector::get_possible_crtcs) + .def("get_possible_crtcs", [](Connector* self) { + vector> v; + for (Crtc* p : self->get_possible_crtcs()) + v.push_back(unique_ptr(p)); + return v; + }) .def("get_modes", &Connector::get_modes) .def("get_mode", (Videomode (Connector::*)(const string& mode) const)&Connector::get_mode) .def("get_mode", (Videomode (Connector::*)(unsigned xres, unsigned yres, float refresh, bool ilace) const)&Connector::get_mode) -- cgit v1.2.3