X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6dcb75c26bbfec04b381bb99d75404f9fe50635d..f6d690f4f6d13acdaf4bae627c8cff6a1d93a198:/lib/python/python.cpp diff --git a/lib/python/python.cpp b/lib/python/python.cpp index 8947bb3c..ad029fb6 100644 --- a/lib/python/python.cpp +++ b/lib/python/python.cpp @@ -3,6 +3,7 @@ #undef _POSIX_C_SOURCE #define _POSIX_C_SOURCE 200112L extern "C" void init_enigma(); +extern "C" void eBaseInit(void); extern void bsodFatal(); #define SKIP_PART2 @@ -114,18 +115,6 @@ void ePyObject::decref(const char *file, int line) #include #undef SKIP_PART1 -DEFINE_REF(TestObj); - -TestObj::TestObj() -{ - eDebug("create %p", this); -} - -TestObj::~TestObj() -{ - eDebug("destroy %p", this); -} - ePython::ePython() { // Py_VerboseFlag = 1; @@ -133,8 +122,10 @@ ePython::ePython() // Py_OptimizeFlag = 1; Py_Initialize(); - + PyEval_InitThreads(); + init_enigma(); + eBaseInit(); } ePython::~ePython() @@ -199,6 +190,11 @@ int ePython::call(ePyObject pFunc, ePyObject pArgs) } else { PyErr_Print(); + ePyObject FuncStr = PyObject_Str(pFunc); + ePyObject ArgStr = PyObject_Str(pArgs); + eDebug("(PyObject_CallObject(%s,%s) failed)", PyString_AS_STRING(FuncStr), PyString_AS_STRING(ArgStr)); + Py_DECREF(FuncStr); + Py_DECREF(ArgStr); bsodFatal(); } }