Ticket #11541: programdata_midnight_diff.cpp

File programdata_midnight_diff.cpp, 1.8 KB (added by m.a.zulliger@…, 13 years ago)

Fix missing midnight program endtime compleation

Line 
1diff --git a/mythtv/libs/libmythtv/programdata.cpp b/mythtv/libs/libmythtv/programdata.cpp
2index 06e822f..d1a0ae8 100644
3--- a/mythtv/libs/libmythtv/programdata.cpp
4+++ b/mythtv/libs/libmythtv/programdata.cpp
5@@ -996,7 +996,8 @@ void ProgramData::FixProgramList(QList<ProgInfo*> &fixlist)
6 {
7 (*cur)->endtime = QDateTime(
8 (*cur)->endtime.date().addDays(1),
9- QTime(0, 0), Qt::UTC);
10+ QTime(0, 0), Qt::LocalTime);
11+ (*cur)->endtime = (*cur)->endtime.toUTC();
12 }
13
14 (*cur)->endts =
15@@ -1138,7 +1139,7 @@ int ProgramData::fix_end_times(void)
16 MSqlQuery query1(MSqlQuery::InitCon()), query2(MSqlQuery::InitCon());
17
18 querystr = "SELECT chanid, starttime, endtime FROM program "
19- "WHERE (DATE_FORMAT(endtime,'%H%i') = '0000') "
20+ "WHERE (DATE_FORMAT(CONVERT_TZ(endtime, 'UTC', 'SYSTEM'),'%H%i') = '0000') "
21 "ORDER BY chanid, starttime;";
22
23 if (!query1.exec(querystr))
24@@ -1155,11 +1156,11 @@ int ProgramData::fix_end_times(void)
25 endtime = query1.value(2).toString();
26
27 querystr = QString("SELECT chanid, starttime, endtime FROM program "
28- "WHERE starttime BETWEEN '%1 00:00:00'"
29- "AND '%2 23:59:59' AND chanid = '%3' "
30+ "WHERE starttime > '%1'"
31+ "AND starttime <= ADDTIME('%2', '1 00:00:00.0') AND chanid = '%3' "
32 "ORDER BY starttime LIMIT 1;")
33- .arg(endtime.left(10))
34- .arg(endtime.left(10))
35+ .arg(starttime)
36+ .arg(starttime)
37 .arg(chanid);
38
39 if (!query2.exec(querystr))