diff --git a/mythtv/libs/libmythtv/programdata.cpp b/mythtv/libs/libmythtv/programdata.cpp
index 4abbb6b..588389c 100644
a
|
b
|
static bool delete_program(MSqlQuery &query, uint chanid, const QDateTime &st) |
613 | 613 | return true; |
614 | 614 | } |
615 | 615 | |
| 616 | static bool program_exists(MSqlQuery &query, uint chanid, const QDateTime &st) |
| 617 | { |
| 618 | query.prepare( |
| 619 | "SELECT title FROM program " |
| 620 | "WHERE chanid = :CHANID AND " |
| 621 | " starttime = :OLDSTART"); |
| 622 | query.bindValue(":CHANID", chanid); |
| 623 | query.bindValue(":OLDSTART", st); |
| 624 | if (!query.exec()) |
| 625 | { |
| 626 | MythDB::DBError("program_exists", query); |
| 627 | } |
| 628 | if (query.next()) |
| 629 | { |
| 630 | return true; |
| 631 | } |
| 632 | return false; |
| 633 | } |
| 634 | |
616 | 635 | static bool change_program(MSqlQuery &query, uint chanid, const QDateTime &st, |
617 | 636 | const QDateTime &new_st, const QDateTime &new_end) |
618 | 637 | { |
… |
… |
bool DBEvent::MoveOutOfTheWayDB( |
670 | 689 | else if (prog.starttime < endtime && prog.endtime > endtime) |
671 | 690 | { |
672 | 691 | // starts during, but ends after our program |
| 692 | if (program_exists(query, chanid, endtime)) |
| 693 | { |
| 694 | LOG(VB_EIT, LOG_DEBUG, |
| 695 | QString("Deleting program '%1'").arg(prog.title)); |
| 696 | return delete_program(query, chanid, prog.starttime); |
| 697 | } |
673 | 698 | return change_program(query, chanid, prog.starttime, |
674 | 699 | endtime, prog.endtime); |
675 | 700 | } |