Fix leak in var arg handling

When using the mixed position + vararg path, pybind over inc_ref's
the vararg positions. Printing the ref_count() of `item` before
and after this change you see:

Before change:

```
refcount of item before assign 3
refcount of item after assign 5
```

After change
```
refcount of item before assign 3
refcount of item after assign 4
```
This commit is contained in:
Zach DeVito 2017-12-14 17:19:19 -08:00 committed by Wenzel Jakob
parent c715c70e0a
commit 155cc7c4d2

View File

@ -589,7 +589,7 @@ protected:
extra_args = tuple(args_size);
for (size_t i = 0; i < args_size; ++i) {
handle item = PyTuple_GET_ITEM(args_in, args_copied + i);
extra_args[i] = item.inc_ref().ptr();
extra_args[i] = reinterpret_borrow<object>(item);
}
}
call.args.push_back(extra_args);