summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--HISTORY.DE2
-rw-r--r--menu_search.c2
-rw-r--r--timerdone.c12
-rw-r--r--timerdone.h1
5 files changed, 19 insertions, 0 deletions
diff --git a/HISTORY b/HISTORY
index 5acece0..8ef5d3f 100644
--- a/HISTORY
+++ b/HISTORY
@@ -28,6 +28,8 @@ new:
search timer update to be interrupted.
- the SVDRP command UPDS for triggering search timer updates has now a new option
'SCAN' that will execute an EPG scan before the search timer update actually starts.
+- when deleting a search timer now its list of created timers is also cleared,
+ suggested by Sundararaj Reel
fixes:
- fixed a crash when pressing 'Ok' in an empty timers done menu
- fixed a crash when using the progressbar and events with 0 duration exist, thanks
diff --git a/HISTORY.DE b/HISTORY.DE
index 1a50a07..1c2737e 100644
--- a/HISTORY.DE
+++ b/HISTORY.DE
@@ -30,6 +30,8 @@ neu:
brechung eines Suchtimerupdates zu verhindern.
- das SVDRP-Kommando UPDS zum Auslösen von Suchtimer-Updates hat nun eine neue Option
'SCAN' mit der vor dem eigentlichen Update noch ein EPG-Scan ausgeführt wird.
+- beim Löschen eines Suchtimers wird nun auch dessen Liste erstellter Timer gelöscht,
+ vorgeschlagen von Sundararaj Reel
fixes:
- Absturz beim Drücken von 'Ok' in leerem Menü erledigter Timer behoben
- Absturz bei Verwendung des Fortschrittsbalkens in Verbindung mit Sendungen
diff --git a/menu_search.c b/menu_search.c
index 11d2321..04661eb 100644
--- a/menu_search.c
+++ b/menu_search.c
@@ -32,6 +32,7 @@ The project's page is at http://winni.vdr-developer.org/epgsearch
#include "recdone.h"
#include "menu_searchedit.h"
#include "menu_searchactions.h"
+#include "timerdone.h"
using namespace std;
@@ -164,6 +165,7 @@ eOSState cMenuEPGSearchExt::Delete(void)
SearchExts.Del(curSearchExt);
SearchExts.Save();
RecsDone.RemoveSearchID(DelID);
+ TimersDone.RemoveEntriesOfSearch(DelID);
cOsdMenu::Del(Current());
Display();
UpdateTitle();
diff --git a/timerdone.c b/timerdone.c
index b57eeea..189f3b5 100644
--- a/timerdone.c
+++ b/timerdone.c
@@ -197,3 +197,15 @@ void cTimersDone::Update(const time_t Start, const time_t Stop, const cEvent* pE
else
Add(Timerdone);
}
+
+void cTimersDone::RemoveEntriesOfSearch(const int SearchID)
+{
+ cTimerDone* timerdone = First();
+ while (timerdone)
+ {
+ cTimerDone* timerdoneNext = Next(timerdone);
+ if (timerdone->searchID == SearchID)
+ Del(timerdone);
+ timerdone = timerdoneNext;
+ }
+}
diff --git a/timerdone.h b/timerdone.h
index 8dbc64c..70b42b9 100644
--- a/timerdone.h
+++ b/timerdone.h
@@ -55,6 +55,7 @@ class cTimersDone : public cConfig<cTimerDone>, public cMutex {
cTimerDone* InList(const time_t Start, const time_t Stop, const cEvent* pEvent, const int SearchID);
void Update(const time_t Start, const time_t Stop, const cEvent* pEvent, const int SearchID, cTimerDone* timerdone);
void ClearOutdated(void);
+ void RemoveEntriesOfSearch(const int SearchID);
};
extern cTimersDone TimersDone;