git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- fixed dvb scan
[enigma2.git]
/
lib
/
python
/
enigma_python.i
diff --git
a/lib/python/enigma_python.i
b/lib/python/enigma_python.i
index b84dbd14b25a92e54527d8314077caf067053ac7..8e55b74fc8d419585d9fec77d54c6572a9d17f4c 100644
(file)
--- a/
lib/python/enigma_python.i
+++ b/
lib/python/enigma_python.i
@@
-33,6
+33,11
@@
is usually caused by not marking PSignals as immutable.
*/
*/
+%define RefCount(...)
+%typemap(newfree) __VA_ARGS__ * { eDebug("adding ref"); $1->AddRef(); }
+%extend __VA_ARGS__ { ~__VA_ARGS__() { eDebug("removing ref!"); self->Release(); } }
+%ignore __VA_ARGS__::~__VA_ARGS__();
+%enddef
%module enigma
%{
%module enigma
%{
@@
-53,12
+58,15
@@
is usually caused by not marking PSignals as immutable.
#include <lib/python/connections.h>
#include <lib/gui/elistbox.h>
#include <lib/gui/elistboxcontent.h>
#include <lib/python/connections.h>
#include <lib/gui/elistbox.h>
#include <lib/gui/elistboxcontent.h>
+#include <lib/service/listboxservice.h>
extern void runMainloop();
extern PSignal1<void,int> &keyPressedSignal();
%}
extern void runMainloop();
extern PSignal1<void,int> &keyPressedSignal();
%}
+RefCount(eListboxPythonStringContent)
+
#define DEBUG
%include "stl.i"
%include <lib/base/object.h>
#define DEBUG
%include "stl.i"
%include <lib/base/object.h>
@@
-83,6
+91,7
@@
extern PSignal1<void,int> &keyPressedSignal();
%include <lib/gui/ewidgetdesktop.h>
%include <lib/gui/elistbox.h>
%include <lib/gui/elistboxcontent.h>
%include <lib/gui/ewidgetdesktop.h>
%include <lib/gui/elistbox.h>
%include <lib/gui/elistboxcontent.h>
+%include <lib/service/listboxservice.h>
template<class R> class PSignal0
{
template<class R> class PSignal0
{