git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix segfault on zap with active timeshift
[enigma2.git]
/
lib
/
nav
/
core.cpp
diff --git
a/lib/nav/core.cpp
b/lib/nav/core.cpp
index 0b4270d9c15f8fae44ef06a0ed857581cc5f0e25..45b4aa6fe99d251ab65927b2a2626b78bfd5dc7e 100644
(file)
--- a/
lib/nav/core.cpp
+++ b/
lib/nav/core.cpp
@@
-62,9
+62,11
@@
RESULT eNavigation::stopService(void)
/* send stop event */
m_event(iPlayableService::evEnd);
/* send stop event */
m_event(iPlayableService::evEnd);
- m_runningService->stop();
+ ePtr<iPlayableService> tmp = m_runningService;
+ m_runningService=0;
+ tmp->stop();
+
/* kill service. */
/* kill service. */
- m_runningService = 0;
m_service_event_conn = 0;
return 0;
}
m_service_event_conn = 0;
return 0;
}
@@
-99,14
+101,12
@@
RESULT eNavigation::stopRecordService(ePtr<iRecordableService> &service)
return -1;
}
return -1;
}
-extern PyObject *New_iRecordableServicePtr(const ePtr<iRecordableService> &ref); // defined in enigma_python.i
-
PyObject *eNavigation::getRecordings(void)
{
PyObject *eNavigation::getRecordings(void)
{
-
PyObject *
result = PyList_New(m_recordings.size());
+
ePyObject
result = PyList_New(m_recordings.size());
int pos=0;
for (std::map<ePtr<iRecordableService>, ePtr<eConnection> >::iterator it(m_recordings.begin()); it != m_recordings.end(); ++it)
int pos=0;
for (std::map<ePtr<iRecordableService>, ePtr<eConnection> >::iterator it(m_recordings.begin()); it != m_recordings.end(); ++it)
- PyList_SET_ITEM(result, pos++, N
ew
_iRecordableServicePtr(it->first));
+ PyList_SET_ITEM(result, pos++, N
EW
_iRecordableServicePtr(it->first));
return result;
}
return result;
}