aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2020-07-23 20:20:26 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2020-07-23 20:20:26 +0200
commit8a90328ab7e1958d5e33f2961ad65c35682d9ce6 (patch)
tree0f4b427504a310a0bbd57185355dcd9e44ea720b
parentcca7d3aef7e97228bddc04601e5c6f1d03894be9 (diff)
downloadnextpnr-8a90328ab7e1958d5e33f2961ad65c35682d9ce6.tar.gz
nextpnr-8a90328ab7e1958d5e33f2961ad65c35682d9ce6.tar.bz2
nextpnr-8a90328ab7e1958d5e33f2961ad65c35682d9ce6.zip
proper ctx export
-rw-r--r--common/pybindings.cc2
-rw-r--r--common/pybindings.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/common/pybindings.cc b/common/pybindings.cc
index 49acb996..e1a7d313 100644
--- a/common/pybindings.cc
+++ b/common/pybindings.cc
@@ -145,7 +145,7 @@ PYBIND11_MODULE(MODULE_NAME, m)
typedef std::unordered_map<IdString, IdString> IdIdMap;
typedef std::unordered_map<IdString, std::unique_ptr<Region>> RegionMap;
- py::class_<BaseCtx, std::unique_ptr<BaseCtx, py::nodelete>>(m, "BaseCtx");
+ py::class_<BaseCtx>(m, "BaseCtx");
auto loc_cls = py::class_<Loc>(m, "Loc")
.def(py::init<int, int, int>())
diff --git a/common/pybindings.h b/common/pybindings.h
index 4923c821..e143ddf4 100644
--- a/common/pybindings.h
+++ b/common/pybindings.h
@@ -45,7 +45,7 @@ template <typename Tn> void python_export_global(const char *name, Tn &x)
return;
d = PyModule_GetDict(m);
try {
- py::object obj = py::cast(x);
+ py::object obj = py::cast(x, py::return_value_policy::reference);
PyDict_SetItemString(d, name, obj.ptr());
} catch (py::error_already_set const &) {
// Parse and output the exception