X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdvb_ci%2Fdvbci.cpp;h=83bbed75c04ce8e7108c5835ea87347240cb552c;hp=a0166355b7c8391307ef5a04ba580e51ebe7d366;hb=4fc2a70eeb86fa51b783b4a9c034b926db0013a3;hpb=c598ff78dac60b446b42ae23f3128c518b76642a diff --git a/lib/dvb_ci/dvbci.cpp b/lib/dvb_ci/dvbci.cpp index a016635..83bbed7 100644 --- a/lib/dvb_ci/dvbci.cpp +++ b/lib/dvb_ci/dvbci.cpp @@ -926,10 +926,13 @@ PyObject *eDVBCIInterfaces::readCICaIds(int slotid) { int idx=0; eDVBCICAManagerSession *ca_manager = slot->getCAManager(); - const std::vector &ci_caids = ca_manager->getCAIDs(); - ePyObject list = PyList_New(ci_caids.size()); - for (std::vector::const_iterator it = ci_caids.begin(); it != ci_caids.end(); ++it) - PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + const std::vector *ci_caids = ca_manager ? &ca_manager->getCAIDs() : 0; + ePyObject list = PyList_New(ci_caids ? ci_caids->size() : 0); + if (ci_caids) + { + for (std::vector::const_iterator it = ci_caids->begin(); it != ci_caids->end(); ++it) + PyList_SET_ITEM(list, idx++, PyLong_FromLong(*it)); + } return list; } return 0;