diff options
Diffstat (limited to 'py/pykms/pykms.cpp')
-rw-r--r-- | py/pykms/pykms.cpp | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/py/pykms/pykms.cpp b/py/pykms/pykms.cpp index 2199039..7752f19 100644 --- a/py/pykms/pykms.cpp +++ b/py/pykms/pykms.cpp @@ -15,32 +15,15 @@ void init_pyvid(py::module &m); void init_pykmsomap(py::module &m); #endif -class PyPageFlipHandlerBase : PageFlipHandlerBase -{ -public: - using PageFlipHandlerBase::PageFlipHandlerBase; - - virtual void handle_page_flip(uint32_t frame, double time) - { - PYBIND11_OVERLOAD_PURE( - void, /* Return type */ - PageFlipHandlerBase, /* Parent class */ - handle_page_flip, /* Name of function */ - frame, time - ); - } -}; - PYBIND11_PLUGIN(pykms) { py::module m("pykms", "kms bindings"); init_pykmsbase(m); - py::class_<PyPageFlipHandlerBase>(m, "PageFlipHandlerBase") - .alias<PageFlipHandlerBase>() - .def(py::init<>()) - .def("handle_page_flip", &PageFlipHandlerBase::handle_page_flip) - ; + m.def("__ob_unpack_helper", [](uint64_t v) { + // AtomicReq::commit or Crtc::page_flip added a ref, so we can use borrowed = false + return py::object((PyObject*)v, false); + }); init_pykmstest(m); |