EPGEvent *item = NULL;
vlc_epg_event_t *p_event = p_epg->pp_event[j];
QString eventName = qfu( p_event->psz_name );
+ QDateTime eventStart = QDateTime::fromTime_t( p_event->i_start );
QList<EPGEvent*> events = m_events.values( channelName );
for ( int k = 0; k < events.count(); ++k )
{
if ( events.at( k )->name == eventName &&
- events.at( k )->channelName == channelName )
+ events.at( k )->channelName == channelName &&
+ events.at( k )->start == eventStart )
{
+ /* Update the event. */
item = events.at( k );
item->updated = true;
item->description = qfu( p_event->psz_description );
item->shortDescription = qfu( p_event->psz_short_description );
- item->start = QDateTime::fromTime_t( p_event->i_start );
+ item->start = eventStart;
item->duration = p_event->i_duration;
item->current = ( p_epg->p_current == p_event ) ? true : false;
item = new EPGEvent( eventName );
item->description = qfu( p_event->psz_description );
item->shortDescription = qfu( p_event->psz_short_description );
- item->start = QDateTime::fromTime_t( p_event->i_start );
+ item->start = eventStart;
item->duration = p_event->i_duration;
item->channelName = channelName;
item->current = ( p_epg->p_current == p_event ) ? true : false;