X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2Fpython.cpp;h=f467bc86dc7d1a63a4827e72d38c4e5901a7f715;hp=a1ef1508a2005ac9dd5a3cb481feaf061a70e586;hb=9289748ceda0195c346437632be8558587441287;hpb=cf3e9383de633c9305a950ba5896376b14e43e12 diff --git a/lib/python/python.cpp b/lib/python/python.cpp index a1ef150..f467bc8 100644 --- a/lib/python/python.cpp +++ b/lib/python/python.cpp @@ -4,6 +4,18 @@ extern "C" void init_enigma(); +DEFINE_REF(TestObj); + +TestObj::TestObj() +{ + eDebug("create %p", this); +} + +TestObj::~TestObj() +{ + eDebug("destroy %p", this); +} + #if 0 ePyObject::ePyObject(void *ptr): m_object(ptr) { @@ -104,7 +116,10 @@ int ePython::call(PyObject *pFunc, PyObject *pArgs) pValue = PyObject_CallObject(pFunc, pArgs); if (pValue != NULL) { - res = PyInt_AsLong(pValue); + if (PyInt_Check(pValue)) + res = PyInt_AsLong(pValue); + else + res = 0; Py_DECREF(pValue); } else { @@ -129,7 +144,6 @@ PyObject *ePython::resolve(const std::string &pythonfile, const std::string &fun pFunc = PyDict_GetItemString(pDict, funcname.c_str()); Py_XINCREF(pFunc); Py_DECREF(pModule); - eDebug("resolved to %p", pFunc); return pFunc; } else {