1 | diff --git a/mythtv/libs/libmythtv/programdata.cpp b/mythtv/libs/libmythtv/programdata.cpp |
---|
2 | index 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)) |
---|