aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/connections.cpp10
-rw-r--r--lib/python/connections.h2
2 files changed, 7 insertions, 5 deletions
diff --git a/lib/python/connections.cpp b/lib/python/connections.cpp
index 00f33f71..864e5524 100644
--- a/lib/python/connections.cpp
+++ b/lib/python/connections.cpp
@@ -20,10 +20,12 @@ void PSignal::callPython(ePyObject tuple)
}
}
-PyObject *PSignal::get()
+PyObject *PSignal::get(bool steal)
{
- if (!m_list)
- m_list = PyList_New(0);
- Py_INCREF(m_list);
+ if (!steal) {
+ if (!m_list)
+ m_list = PyList_New(0);
+ Py_INCREF(m_list);
+ }
return m_list;
}
diff --git a/lib/python/connections.h b/lib/python/connections.h
index 8ff3a620..76859e7d 100644
--- a/lib/python/connections.h
+++ b/lib/python/connections.h
@@ -18,7 +18,7 @@ public:
PSignal();
~PSignal();
void callPython(SWIG_PYOBJECT(ePyObject) tuple);
- PyObject *get();
+ PyObject *get(bool steal=false);
};
inline PyObject *PyFrom(int v)