diff --git a/unittest/bind_virtual_factory.cpp b/unittest/bind_virtual_factory.cpp index f3861cae17c3c0d738eb8d90839bea62e6525648..373c97825e72d90a988d90e21739f37220d76314 100644 --- a/unittest/bind_virtual_factory.cpp +++ b/unittest/bind_virtual_factory.cpp @@ -72,7 +72,10 @@ struct VirtualClassWrapper : MyVirtualClass, bp::wrapper<MyVirtualClass> { } shared_ptr<MyVirtualData> createData() const override { - if (bp::override fo = this->get_override("createData")) return fo(); + if (bp::override fo = this->get_override("createData")) { + bp::object result = fo(); + return bp::extract<shared_ptr<MyVirtualData>>(result); + } return default_createData(); }