]> git.sesse.net Git - vlc/commitdiff
Qt: test if EPG events are the same by also comparing the start time.
authorAdrien Maglo <magsoft@videolan.org>
Tue, 15 Jun 2010 20:34:57 +0000 (22:34 +0200)
committerAdrien Maglo <magsoft@videolan.org>
Tue, 15 Jun 2010 20:42:37 +0000 (22:42 +0200)
modules/gui/qt4/components/epg/EPGWidget.cpp

index d62114aa7d48bdafe06b8e77916166cb0b4cbe21..59b52290eeb90148a628cd36782738e7a683b9b4 100644 (file)
@@ -83,19 +83,22 @@ void EPGWidget::updateEPG( vlc_epg_t **pp_epg, int i_epg )
             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;
 
@@ -112,7 +115,7 @@ void EPGWidget::updateEPG( vlc_epg_t **pp_epg, int i_epg )
                 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;