mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-22 05:05:11 +00:00
Fix a reference leak in the number converter (#1078)
Fixes #1075. `PyNumber_Float()` and `PyNumber_Long()` return new references.
This commit is contained in:
parent
7b1de1e551
commit
953d2422b3
@ -17,6 +17,9 @@ v2.2.1 (Not yet released)
|
|||||||
* Fixed compilation with Clang on host GCC < 5 (old libstdc++ which isn't fully
|
* Fixed compilation with Clang on host GCC < 5 (old libstdc++ which isn't fully
|
||||||
C++11 compliant). `#1062 <https://github.com/pybind/pybind11/pull/1062>`_.
|
C++11 compliant). `#1062 <https://github.com/pybind/pybind11/pull/1062>`_.
|
||||||
|
|
||||||
|
* Fixed a reference leak in the number converter.
|
||||||
|
`#1078 <https://github.com/pybind/pybind11/pull/1078>`_.
|
||||||
|
|
||||||
* Fixed a regression where the automatic ``std::vector<bool>`` caster would
|
* Fixed a regression where the automatic ``std::vector<bool>`` caster would
|
||||||
fail to compile. The same fix also applies to any container which returns
|
fail to compile. The same fix also applies to any container which returns
|
||||||
element proxies instead of references.
|
element proxies instead of references.
|
||||||
|
@ -964,7 +964,7 @@ public:
|
|||||||
);
|
);
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
if (type_error && convert && PyNumber_Check(src.ptr())) {
|
if (type_error && convert && PyNumber_Check(src.ptr())) {
|
||||||
auto tmp = reinterpret_borrow<object>(std::is_floating_point<T>::value
|
auto tmp = reinterpret_steal<object>(std::is_floating_point<T>::value
|
||||||
? PyNumber_Float(src.ptr())
|
? PyNumber_Float(src.ptr())
|
||||||
: PyNumber_Long(src.ptr()));
|
: PyNumber_Long(src.ptr()));
|
||||||
PyErr_Clear();
|
PyErr_Clear();
|
||||||
|
Loading…
Reference in New Issue
Block a user