diff --git a/src/Corrade/Containers/OptionalPythonBindings.h b/src/Corrade/Containers/OptionalPythonBindings.h index c9cad5f..fbfc205 100644 --- a/src/Corrade/Containers/OptionalPythonBindings.h +++ b/src/Corrade/Containers/OptionalPythonBindings.h @@ -37,7 +37,7 @@ template struct type_caster> { using value_conv = make_caster; template static handle cast(T_&& src, const return_value_policy policy, const handle parent) { - if(!src) return none{}.inc_ref(); + if(!src) return none{}.release(); return value_conv::cast(*std::forward(src), return_value_policy_override::policy(policy), parent); } diff --git a/src/Magnum/PythonBindings.h b/src/Magnum/PythonBindings.h index 7150d4a..ff4d871 100644 --- a/src/Magnum/PythonBindings.h +++ b/src/Magnum/PythonBindings.h @@ -45,7 +45,7 @@ template struct PyImageViewHolder: std::unique_ptr { }; template PyImageViewHolder pyImageViewHolder(const T& view, pybind11::object owner) { - return PyImageViewHolder{new T{view}, owner}; + return PyImageViewHolder{new T{view}, std::move(owner)}; } }