Fix negative refcount in PyCapsule destructor

This commit is contained in:
Dean Moldovan 2017-02-27 23:39:26 +01:00 committed by Wenzel Jakob
parent 620a808ad0
commit 5687b337f9

View File

@ -229,7 +229,7 @@ handle eigen_ref_array(Type &src, handle parent = none()) {
// not the Type of the pointer given is const.
template <typename props, typename Type, typename = enable_if_t<is_eigen_dense_plain<Type>::value>>
handle eigen_encapsulate(Type *src) {
capsule base(src, [](PyObject *o) { delete reinterpret_steal<capsule>(o).operator Type*(); });
capsule base(src, [](PyObject *o) { delete static_cast<Type *>(PyCapsule_GetPointer(o, nullptr)); });
return eigen_ref_array<props>(*src, base);
}