diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index c6c9bafa3..55437a472 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -2336,7 +2336,7 @@ void CChannelList::paint_events() int current_index = paint_events_index; CChannelEventList evtlist; - readEvents((*chanlist)[current_index]->getChannelID(), evtlist); + readEvents((*chanlist)[current_index]->getEpgID(), evtlist); if (current_index == paint_events_index) { pthread_mutex_lock(&paint_events_mutex); if (current_index == paint_events_index) diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index e14f12de4..27e492ed3 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -1390,7 +1390,7 @@ int COsdSetup::showContextChanlistMenu(CChannelList *parent_channellist) CMenuWidget * menu_chanlist = new CMenuWidget(LOCALE_MAINMENU_SETTINGS, NEUTRINO_ICON_SETTINGS, width); //using native callback to ensure stop header clock in parent channellist before paint this menu window - if (parent_channellist) + if (parent_channellist && parent_channellist->getHeaderObject()->getClockObject()) menu_chanlist->OnBeforePaint.connect(sigc::mem_fun(parent_channellist->getHeaderObject()->getClockObject(), &CComponentsFrmClock::block)); menu_chanlist->enableSaveScreen(true); diff --git a/src/gui/timerlist.cpp b/src/gui/timerlist.cpp index ce8a84bf9..40628f122 100644 --- a/src/gui/timerlist.cpp +++ b/src/gui/timerlist.cpp @@ -835,7 +835,8 @@ void CTimerList::RemoteBoxTimerList(CTimerd::TimerList &rtimerlist) rtimer.stopTime = (time_t) atoll(remotetimers[i]["stop"][0].get("digits","").asString().c_str()); rtimer.epgID = (event_id_t) atoi(remotetimers[i].get("epg_id","").asString()); sscanf(remotetimers[i].get("channel_id","").asString().c_str(), SCANF_CHANNEL_ID_TYPE, &rtimer.channel_id); - strncpy(rtimer.epgTitle,remotetimers[i].get("title","").asString().c_str(),51); + strncpy(rtimer.epgTitle,remotetimers[i].get("title","").asString().c_str(),sizeof(rtimer.epgTitle)); + rtimer.epgTitle[sizeof(rtimer.epgTitle) - 1] = 0; if (remotetimers[i]["audio"].get("apids_conf","").asString() == "true") rtimer.apids = TIMERD_APIDS_CONF; //printf("[remotetimer] r-timer:%s - %s\n", remotetimers[i].get("channel_id","").asString().c_str(), remotetimers[i].get("title","").asString().c_str());