Index: mythtv/programs/mythfilldatabase/filldata.cpp =================================================================== --- mythtv/programs/mythfilldatabase/filldata.cpp (revision 12967) +++ mythtv/programs/mythfilldatabase/filldata.cpp (working copy) @@ -382,22 +382,24 @@ int total_sources = sourcelist.size(); int source_channels = 0; - query.exec(QString("SELECT MAX(endtime) FROM program WHERE manualid=0;")); - if (query.isActive() && query.size() > 0) - { - query.next(); - - if (!query.isNull(0)) - GuideDataBefore = QDateTime::fromString(query.value(0).toString(), - Qt::ISODate); - } - QString sidStr = QString("Updating source #%1 (%2) with grabber %3"); need_post_grab_proc = false; for (it = sourcelist.begin(); it != sourcelist.end(); ++it) { + query.prepare("SELECT MAX(endtime) FROM program p LEFT JOIN channel c ON p.chanid=c.chanid WHERE c.sourceid= :SRCID"); + query.bindValue(":SRCID", (*it).id); + query.exec(); + if (query.isActive() && query.size() > 0) + { + query.next(); + + if (!query.isNull(0)) + GuideDataBefore = QDateTime::fromString(query.value(0).toString(), + Qt::ISODate); + } + channel_update_run = false; endofdata = false; @@ -823,7 +825,9 @@ if (only_update_channels && !need_post_grab_proc) return true; - query.exec(QString("SELECT MAX(endtime) FROM program WHERE manualid=0;")); + query.prepare("SELECT MAX(endtime) FROM program p LEFT JOIN channel c ON p.chanid=c.chanid WHERE c.sourceid= :SRCID"); + query.bindValue(":SRCID", (*it).id); + query.exec(); if (query.isActive() && query.size() > 0) { query.next();