git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
install Console.py
[enigma2.git]
/
lib
/
python
/
connections.cpp
diff --git
a/lib/python/connections.cpp
b/lib/python/connections.cpp
index fd3e2a4bc498517cd33797ae681547f1af8d4db5..b54c07b16620287b40684b98592a936b6b5c7e50 100644
(file)
--- a/
lib/python/connections.cpp
+++ b/
lib/python/connections.cpp
@@
-1,14
+1,15
@@
#include <lib/python/connections.h>
PSignal::PSignal()
#include <lib/python/connections.h>
PSignal::PSignal()
+ :m_destroyed(0)
{
{
- m_list = PyList_New(0);
- Py_INCREF(m_list);
}
PSignal::~PSignal()
{
}
PSignal::~PSignal()
{
- Py_DECREF(m_list);
+ if (m_destroyed)
+ *m_destroyed = true;
+ Py_XDECREF(m_list);
}
void PSignal::callPython(ePyObject tuple)
}
void PSignal::callPython(ePyObject tuple)
@@
-22,8
+23,12
@@
void PSignal::callPython(ePyObject tuple)
}
}
}
}
-PyObject *PSignal::get()
+PyObject *PSignal::get(
bool steal
)
{
{
- Py_INCREF(m_list);
+ if (!steal) {
+ if (!m_list)
+ m_list = PyList_New(0);
+ Py_INCREF(m_list);
+ }
return m_list;
}
return m_list;
}