| 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))
|
|---|