CChannelList::~CChannelList(): fix possible segfault

Signed-off-by: Jacek Jendrzej <crashdvb@googlemail.com>
This commit is contained in:
Jacek Jendrzej
2013-12-15 15:43:10 +01:00
parent 3ac714d93a
commit 7e2d12e5d5

View File

@@ -126,20 +126,26 @@ CChannelList::~CChannelList()
{ {
//printf("************ DELETE LIST %s : %x\n", name.c_str(), this);fflush(stdout); //printf("************ DELETE LIST %s : %x\n", name.c_str(), this);fflush(stdout);
chanlist.clear(); chanlist.clear();
delete dline; if(dline){
if (cc_minitv) delete dline;
dline = NULL;
}
if (cc_minitv){
delete cc_minitv; delete cc_minitv;
cc_minitv = NULL;
}
if (headerClock) { if (headerClock) {
headerClock->Stop(); headerClock->Stop();
if (headerClock->isPainted()) if (headerClock->isPainted())
headerClock->hide(); headerClock->hide();
if (headerClock->isClockRun()) if (headerClock->isClockRun())
headerClock->stopThread(); headerClock->stopThread();
delete headerClock; if(headerClock){
headerClock = NULL; delete headerClock;
headerClock = NULL;
}
} }
} }
void CChannelList::ClearList(void) void CChannelList::ClearList(void)
{ {
//printf("************ CLEAR LIST %s : %x\n", name.c_str(), this);fflush(stdout); //printf("************ CLEAR LIST %s : %x\n", name.c_str(), this);fflush(stdout);