summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile1
-rw-r--r--conflictcheck_thread.c1
-rw-r--r--epgsearchext.c6
-rw-r--r--menu_commands.c2
-rw-r--r--menu_main.c2
-rw-r--r--menu_myedittimer.c107
-rw-r--r--menu_myedittimer.h2
-rw-r--r--menu_searchresults.c2
-rw-r--r--menu_whatson.c2
-rw-r--r--po/ca_ES.po5
-rw-r--r--po/cs_CZ.po5
-rw-r--r--po/da_DK.po5
-rw-r--r--po/de_DE.po13
-rw-r--r--po/el_GR.po5
-rw-r--r--po/es_ES.po5
-rw-r--r--po/et_EE.po5
-rw-r--r--po/fi_FI.po7
-rw-r--r--po/fr_FR.po5
-rw-r--r--po/hr_HR.po5
-rw-r--r--po/hu_HU.po5
-rw-r--r--po/it_IT.po7
-rw-r--r--po/lt_LT.po5
-rw-r--r--po/nl_NL.po5
-rw-r--r--po/nn_NO.po14
-rw-r--r--po/pl_PL.po14
-rw-r--r--po/pt_PT.po14
-rw-r--r--po/ro_RO.po14
-rw-r--r--po/ru_RU.po14
-rw-r--r--po/sk_SK.po14
-rw-r--r--po/sl_SI.po14
-rw-r--r--po/sv_SE.po14
-rw-r--r--po/tr_TR.po14
-rw-r--r--searchtimer_thread.c19
-rw-r--r--timer_thread.c7
34 files changed, 168 insertions, 191 deletions
diff --git a/Makefile b/Makefile
index e9bd930..803cd84 100644
--- a/Makefile
+++ b/Makefile
@@ -338,4 +338,5 @@ clean:
@-rm -f $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4) $(DEPFILE) *.so *.tgz core* createcats createcats.o pod2*.tmp
@-find . \( -name "*~" -o -name "#*#" \) -print0 | xargs -0r rm -f
@-rm -rf doc html man
+ @-rm -f MANUAL README README.DE
@-rm -f $(DEPFILE_stmp) $(DEPFILE_DOC)
diff --git a/conflictcheck_thread.c b/conflictcheck_thread.c
index 4e2e3fe..8c58a22 100644
--- a/conflictcheck_thread.c
+++ b/conflictcheck_thread.c
@@ -104,6 +104,7 @@ void cConflictCheckThread::Action(void)
m_forceUpdate = false;
{
LOCK_TIMERS_WRITE;
+ Timers->SetExplicitModify();
}
LogFile.iSysLog("timer conflict check started");
diff --git a/epgsearchext.c b/epgsearchext.c
index 4a5f7e6..b516c9c 100644
--- a/epgsearchext.c
+++ b/epgsearchext.c
@@ -1017,10 +1017,6 @@ cSearchResults* cSearchExt::Run(int PayTVMode, bool inspectTimerMargin, int eval
LOCK_CHANNELS_READ; // Channels must be locked first
LOCK_SCHEDULES_READ;
- if(!Schedules) {
- LogFile.Log(1,"schedules are currently locked! try again later.");
- return NULL;
- }
bool noPayTV = false;
if (PayTVMode == -1) // use search's setting
@@ -1029,11 +1025,11 @@ cSearchResults* cSearchExt::Run(int PayTVMode, bool inspectTimerMargin, int eval
noPayTV = (PayTVMode == 1);
time_t tNow=time(NULL);
- const cSchedule *Schedule = Schedules->First();
cSearchResults* pSearchResults = pPrevResults;
cSearchResults* pBlacklistResults = GetBlacklistEvents(inspectTimerMargin?MarginStop:0);
int counter = 0;
+ const cSchedule *Schedule = Schedules->First();
while (Schedule) {
const cChannel* channel = Channels->GetByChannelID(Schedule->ChannelID(),true,true);
if (!channel)
diff --git a/menu_commands.c b/menu_commands.c
index 0ceb1af..ef20c11 100644
--- a/menu_commands.c
+++ b/menu_commands.c
@@ -171,7 +171,7 @@ eOSState cMenuSearchCommands::Record(void)
#endif
SetAux(timer, fullaux);
- if (*Setup.SVDRPDefaultHost)
+ if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost)
timer->SetRemote(Setup.SVDRPDefaultHost);
Timers->Add(timer);
timer->Matches();
diff --git a/menu_main.c b/menu_main.c
index 5cb5079..2800114 100644
--- a/menu_main.c
+++ b/menu_main.c
@@ -234,7 +234,7 @@ eOSState cMenuSearchMain::Record(void)
#endif
SetAux(timer, fullaux);
- if (*Setup.SVDRPDefaultHost)
+ if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost)
timer->SetRemote(Setup.SVDRPDefaultHost);
LOCK_TIMERS_WRITE;
Timers->Add(timer); // implicit SetModified
diff --git a/menu_myedittimer.c b/menu_myedittimer.c
index 30c540d..238c3b1 100644
--- a/menu_myedittimer.c
+++ b/menu_myedittimer.c
@@ -53,7 +53,7 @@ cMenuMyEditTimer::cMenuMyEditTimer(cTimer *Timer, bool New, const cEvent* Event,
if (Timer)
{
timer = Timer;
- oldtimer = *timer;
+ newtimer = *timer;
event = Event;
flags = Timer->Flags();
day = Timer->Day();
@@ -242,29 +242,34 @@ eOSState cMenuMyEditTimer::DeleteTimer()
{
// Check if this timer is active:
LOCK_TIMERS_WRITE;
- if (!Timers) {
- ERROR(tr("Epgsearch: Recursive LOCK DeleteTimer failed"));
- return osContinue;
- }
Timers->SetExplicitModify();
if (timer && !addIfConfirmed) {
if (Interface->Confirm(trVDR("Delete timer?"))) {
if (timer->Recording()) {
if (Interface->Confirm(trVDR("Timer still recording - really delete?"))) {
- timer->Skip();
- cRecordControls::Process(Timers, time(NULL));
+ if (!timer->Remote()) {
+ timer->Skip();
+ cRecordControls::Process(Timers, time(NULL));
+ }
}
else
- return osContinue;
+ timer = NULL;
}
- LogFile.iSysLog("deleting timer %s", *timer->ToDescr());
- Timers->Del(timer);
+ if (timer) {
+ if (!HandleRemoteTimerModifications(NULL, timer))
+ {
+ LogFile.Log(2,"HandleRemoteTimerModifications failed");
+ return osContinue;
+ }
+ LogFile.iSysLog("deleting timer %s", *timer->ToDescr());
+ Timers->Del(timer);
- gl_timerStatusMonitor->SetConflictCheckAdvised();
- Timers->SetModified();
- return osBack;
+ gl_timerStatusMonitor->SetConflictCheckAdvised();
+ Timers->SetModified();
+ return osBack;
}
}
+ }
return osContinue;
}
@@ -339,17 +344,6 @@ eOSState cMenuMyEditTimer::ProcessKey(eKeys Key)
{
case kOk:
{
- const cChannel *ch;
- {
- LOCK_CHANNELS_READ;
- ch = Channels->GetByNumber(channel);
- }
- if (!ch)
- {
- ERROR(tr("*** Invalid Channel ***"));
- break;
- }
-
string fullaux = "";
string aux = "";
if (timer && timer->Aux())
@@ -374,6 +368,14 @@ eOSState cMenuMyEditTimer::ProcessKey(eKeys Key)
aux = epgsearchaux;
free(epgsearchaux);
}
+ LOCK_CHANNELS_READ;
+ const cChannel *ch = Channels->GetByNumber(channel);
+ if (!ch)
+ {
+ ERROR(tr("*** Invalid Channel ***"));
+ break;
+ }
+
aux = UpdateAuxValue(aux, "channel", NumToString(ch->Number()) + " - " + CHANNELNAME(ch));
aux = UpdateAuxValue(aux, "update", checkmode);
aux = UpdateAuxValue(aux, "eventid", event->EventID());
@@ -397,18 +399,36 @@ eOSState cMenuMyEditTimer::ProcessKey(eKeys Key)
strreplace(tmpFile, ':', '|');
char* tmpDir = strdup(directory);
strreplace(tmpDir, ':', '|');
- if (strlen(tmpFile) == 0)
- {
- free(tmpFile);
- tmpFile = strdup(CHANNELNAME(ch));
- }
if (timer)
{
+ LOCK_TIMERS_WRITE;
+ if (!addIfConfirmed && !Timers->Contains(timer))
+ {
+ if (cTimer *t = Timers->GetById(timer->Id(), timer->Remote()))
+ timer = t;
+ else
+ {
+ ERROR(tr("Timer has been deleted"));
+ break;
+ }
+ }
+ LOCK_CHANNELS_READ;
+ const cChannel *ch = Channels->GetByNumber(channel);
+ if (!ch)
+ {
+ ERROR(tr("*** Invalid Channel ***"));
+ break;
+ }
+ if (strlen(tmpFile) == 0)
+ {
+ free(tmpFile);
+ tmpFile = strdup(CHANNELNAME(ch));
+ }
cString cmdbuf;
cmdbuf = cString::sprintf("%d:%d:%s:%04d:%04d:%d:%d:%s%s%s:%s",
flags,
- ch->Number(),
+ channel,
PRINTDAY(day, weekdays, true),
start,
stop,
@@ -419,36 +439,29 @@ eOSState cMenuMyEditTimer::ProcessKey(eKeys Key)
tmpFile,
fullaux.c_str());
- timer->Parse(cmdbuf);
+ newtimer.Parse(cmdbuf);
free(tmpFile);
free(tmpDir);
- {
- LOCK_TIMERS_WRITE;
- if (!Timers) {
- ERROR(tr("Epgsearch: recursive TIMERS LOCK"));
- return osBack;
- }
- Timers->SetExplicitModify();
- timer->SetRemote(*remote ? remote : NULL);
+ newtimer.SetRemote(*remote ? remote : NULL);
if (addIfConfirmed) {
+ *timer = newtimer;
Timers->Add(timer);
- Timers->SetModified();
- if (!HandleRemoteTimerModifications(timer, &oldtimer)) {
+ if (!HandleRemoteTimerModifications(timer)) {
Timers->Del(timer);
ERROR(tr("Epgsearch: RemoteTimerModifications failed"));
- return osBack;
+ return osContinue;
}
}
else {
- if (!HandleRemoteTimerModifications(timer, &oldtimer))
+ if (!HandleRemoteTimerModifications(&newtimer, timer)) {
return osContinue;
- if (oldtimer.Local() && oldtimer.Recording() && timer->Remote())
- cRecordControls::Stop(&oldtimer);
- oldtimer = timer;
+ }
+ if (timer->Local() && timer->Recording() && newtimer.Remote())
+ cRecordControls::Stop(timer);
+ *timer = newtimer;
}
- }
LOCK_SCHEDULES_READ;
timer->SetEventFromSchedule(Schedules);
timer->Matches();
diff --git a/menu_myedittimer.h b/menu_myedittimer.h
index 125f39a..ce39270 100644
--- a/menu_myedittimer.h
+++ b/menu_myedittimer.h
@@ -32,7 +32,7 @@ The project's page is at http://winni.vdr-developer.org/epgsearch
class cMenuMyEditTimer : public cOsdMenu {
private:
cTimer *timer;
- cTimer oldtimer;
+ cTimer newtimer;
const cEvent* event;
int channel;
bool addIfConfirmed;
diff --git a/menu_searchresults.c b/menu_searchresults.c
index 4d647d4..5c2019b 100644
--- a/menu_searchresults.c
+++ b/menu_searchresults.c
@@ -287,7 +287,7 @@ eOSState cMenuSearchResults::Record(void)
#endif
SetAux(timer, fullaux);
- if (*Setup.SVDRPDefaultHost)
+ if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost)
timer->SetRemote(Setup.SVDRPDefaultHost);
Timers->Add(timer);
gl_timerStatusMonitor->SetConflictCheckAdvised();
diff --git a/menu_whatson.c b/menu_whatson.c
index 253251d..442c944 100644
--- a/menu_whatson.c
+++ b/menu_whatson.c
@@ -625,7 +625,7 @@ eOSState cMenuWhatsOnSearch::Record(void)
fullaux = UpdateAuxValue(fullaux, "pin-plugin", aux);
#endif
SetAux(timer, fullaux);
- if (*Setup.SVDRPDefaultHost)
+ if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost)
timer->SetRemote(Setup.SVDRPDefaultHost);
Timers->Add(timer);
if (!HandleRemoteTimerModifications(timer)) {
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 03db5e2..3aef54b 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -829,10 +829,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index 18234ed..242884e 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -826,10 +826,7 @@ msgstr "S Názvem dílu"
msgid "Button$Without subtitle"
msgstr "Bez Názvu dílu"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/da_DK.po b/po/da_DK.po
index c5ee74d..f2237ae 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
@@ -827,10 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/de_DE.po b/po/de_DE.po
index 61ebfe4..703f665 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -865,11 +865,8 @@ msgstr "Mit Untertitel"
msgid "Button$Without subtitle"
msgstr "Ohne Untertitel"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr "Epgsearch: Rekursiver LOCK Problem beim Löschen eines Timers"
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr "Epgsearch: Rekursiver TIMER Lock"
+msgid "Timer has been deleted"
+msgstr "Timer wurde gelöscht!"
msgid "Button$Extended"
msgstr "Erweitert"
@@ -1295,6 +1292,12 @@ msgstr "Umschalten zu (%d) '%s'?"
msgid "Programming timer failed!"
msgstr "Timer-Programmierung fehlschlagen!"
+#~ msgid "Epgsearch: recursive TIMERS LOCK"
+#~ msgstr "Epgsearch: Rekursiver TIMER Lock"
+
+#~ msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
+#~ msgstr "Epgsearch: Rekursiver LOCK Problem beim Löschen eines Timers"
+
#~ msgid "in %02ldd"
#~ msgstr "in %02ldd"
diff --git a/po/el_GR.po b/po/el_GR.po
index c002265..2befab5 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -827,10 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/es_ES.po b/po/es_ES.po
index a8f1552..e77a5eb 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -868,10 +868,7 @@ msgstr "Con subtítulo"
msgid "Button$Without subtitle"
msgstr "Sin subtítulo"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/et_EE.po b/po/et_EE.po
index 4d4cbbd..c5f5e7e 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
@@ -827,10 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 631966a..24c7e59 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -869,11 +869,8 @@ msgstr "Kuvaus"
msgid "Button$Without subtitle"
msgstr "Ei kuvausta"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
+msgid "Timer has been deleted"
+msgstr "Ajastin on poistettu!"
msgid "Button$Extended"
msgstr "Laaja"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index e795721..8928dbc 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -868,10 +868,7 @@ msgstr "Avec les sous-titres"
msgid "Button$Without subtitle"
msgstr "Sans sous-titres"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index 2397cd8..fed7b39 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
@@ -828,10 +828,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/hu_HU.po b/po/hu_HU.po
index 3545db8..b3bac82 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -827,10 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/it_IT.po b/po/it_IT.po
index fcc854c..ebfb1b8 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -871,11 +871,8 @@ msgstr "Con sottotitoli"
msgid "Button$Without subtitle"
msgstr "Senza sottotitoli"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
+msgid "Timer has been deleted"
+msgstr "Il timer è stata eliminato!"
msgid "Button$Extended"
msgstr "Esteso"
diff --git a/po/lt_LT.po b/po/lt_LT.po
index 20837db..4ce7a98 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -873,10 +873,7 @@ msgstr "Su subtitrais"
msgid "Button$Without subtitle"
msgstr "Be subtitrų"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 0353259..142c6ba 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -867,10 +867,7 @@ msgstr "Met ondertitel"
msgid "Button$Without subtitle"
msgstr "Zonder ondertitel"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index 4b95723..286e41f 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
@@ -740,6 +740,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -809,6 +812,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -821,13 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/pl_PL.po b/po/pl_PL.po
index 6cad7a9..b91d576 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -740,6 +740,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -809,6 +812,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -821,13 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 1cdf4e9..47bc02a 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -739,6 +739,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -808,6 +811,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -820,13 +826,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/ro_RO.po b/po/ro_RO.po
index ec04176..20683e6 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
@@ -740,6 +740,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -809,6 +812,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -821,13 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index f7bb078..188430d 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -739,6 +739,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -808,6 +811,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -820,13 +826,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/sk_SK.po b/po/sk_SK.po
index f5580cd..10e771e 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -781,6 +781,9 @@ msgstr "Vytvoriť čiernu listinu"
msgid "EPG Commands"
msgstr "EPG príkazy"
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr "Práve spustené!"
@@ -850,6 +853,9 @@ msgstr "Kanál"
msgid "Childlock"
msgstr "Detský zámok"
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr "Kontrola plánu"
@@ -862,13 +868,7 @@ msgstr "S titulkami"
msgid "Button$Without subtitle"
msgstr "Bez titulkov"
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/sl_SI.po b/po/sl_SI.po
index 930d7ed..631d5ba 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
@@ -741,6 +741,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -810,6 +813,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -822,13 +828,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/sv_SE.po b/po/sv_SE.po
index dcb3f1b..dfcd6f8 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -740,6 +740,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -809,6 +812,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -821,13 +827,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/po/tr_TR.po b/po/tr_TR.po
index 8180e0c..3e8305c 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
@@ -739,6 +739,9 @@ msgstr ""
msgid "EPG Commands"
msgstr ""
+msgid "Epgsearch: RemoteTimerModifications failed"
+msgstr ""
+
msgid "Already running!"
msgstr ""
@@ -808,6 +811,9 @@ msgstr ""
msgid "Childlock"
msgstr ""
+msgid "Record on"
+msgstr ""
+
msgid "Timer check"
msgstr ""
@@ -820,13 +826,7 @@ msgstr ""
msgid "Button$Without subtitle"
msgstr ""
-msgid "Epgsearch: Recursive LOCK DeleteTimer failed"
-msgstr ""
-
-msgid "Epgsearch: recursive TIMERS LOCK"
-msgstr ""
-
-msgid "Epgsearch: RemoteTimerModifications failed"
+msgid "Timer has been deleted"
msgstr ""
msgid "Button$Extended"
diff --git a/searchtimer_thread.c b/searchtimer_thread.c
index 7d7ddaa..f50ab05 100644
--- a/searchtimer_thread.c
+++ b/searchtimer_thread.c
@@ -233,6 +233,7 @@ void cSearchTimerThread::Action(void)
// wait if TimersWriteLock is set or waited for
{
LOCK_TIMERS_WRITE;
+ Timers->SetExplicitModify();
}
LogFile.iSysLog("search timer update started");
@@ -391,7 +392,7 @@ void cSearchTimerThread::Action(void)
if (timerMod & tmAuxEventID)
LogFile.Log(3,"timer for '%s~%s' (%s - %s, channel %d) : aux info for event id has changed", pEvent->Title()?pEvent->Title():"no title", pEvent->ShortText()?pEvent->ShortText():"no subtitle", GETDATESTRING(pEvent), GETTIMESTRING(pEvent), ChannelNrFromEvent(pEvent));
}
- index = t->Index()+1;
+ index = t->Id();
Priority = t->Priority();
Lifetime = t->Lifetime();
}
@@ -706,7 +707,7 @@ bool cSearchTimerThread::AddModTimer(cTimer* Timer, int index, cSearchExt* searc
}
else
tmpSummary = SummaryExtended(searchExt, Timer, pEvent);
- if (*Setup.SVDRPDefaultHost)
+ if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost)
Timer->SetRemote(Setup.SVDRPDefaultHost);
else {
if (index==0)
@@ -775,7 +776,7 @@ void cSearchTimerThread::RemoveTimer(const cTimer* t, const cEvent* e)
TimersDone.Save();
}
}
- DelTimer(t->Index()+1);
+ DelTimer(t->Id());
}
void cSearchTimerThread::DelRecording(int index)
@@ -857,7 +858,7 @@ void cSearchTimerThread::CheckExpiredRecs()
void cSearchTimerThread::ModifyManualTimer(const cEvent* event, const cTimer* timer, int bstart, int bstop)
{
- LogFile.Log(1,"modified manual timer %d for '%s~%s' (%s - %s)", timer->Index()+1, event->Title(), event->ShortText()?event->ShortText():"", GETDATESTRING(event), GETTIMESTRING(event));
+ LogFile.Log(1,"modified manual timer %d for '%s~%s' (%s - %s)", timer->Id(), event->Title(), event->ShortText()?event->ShortText():"", GETDATESTRING(event), GETTIMESTRING(event));
time_t start = event->StartTime() - bstart;
time_t stop = event->EndTime() + bstop;
@@ -874,7 +875,7 @@ void cSearchTimerThread::ModifyManualTimer(const cEvent* event, const cTimer* ti
char* cmdbuf = NULL;
msprintf(&cmdbuf, "MODT %d %d:%d:%s:%s:%s:%d:%d:%s:%s",
- timer->Index()+1,
+ timer->Id(),
timer->Flags(),
timer->Channel()->Number(),
daybuffer,
@@ -929,7 +930,7 @@ void cSearchTimerThread::CheckManualTimers(void)
char* szEventID = GetAuxValue(ti, "eventid");
if (szEventID)
eventID = atol(szEventID);
- LogFile.Log(3,"checking manual timer %d by event ID %u", ti->Index()+1, eventID);
+ LogFile.Log(3,"checking manual timer %d by event ID %u", ti->Id(), eventID);
const cEvent* event = schedule->GetEvent(eventID);
if (event)
{
@@ -937,7 +938,7 @@ void cSearchTimerThread::CheckManualTimers(void)
ModifyManualTimer(event, ti, bstart, bstop);
}
else
- LogFile.Log(1,"ooops - no event found with id %u for manual timer %d", eventID, ti->Index()+1);
+ LogFile.Log(1,"ooops - no event found with id %u for manual timer %d", eventID, ti->Id());
if (szEventID) free(szEventID);
}
@@ -955,7 +956,7 @@ void cSearchTimerThread::CheckManualTimers(void)
if (testevent->StartTime() < ti->StopTime() && testevent->EndTime() > ti->StartTime())
eventlist.Add(new cSearchResult(testevent, (const cSearchExt*)NULL));
}
- LogFile.Log(3,"checking manual timer %d by channel and time, found %d candidates", ti->Index()+1, eventlist.Count());
+ LogFile.Log(3,"checking manual timer %d by channel and time, found %d candidates", ti->Id(), eventlist.Count());
if (eventlist.Count() > 0)
{
// choose the event with the best match by duration
@@ -982,7 +983,7 @@ void cSearchTimerThread::CheckManualTimers(void)
LogFile.Log(3,"selected candidate is too bad");
}
else
- LogFile.Log(1,"ooops - no events found touching manual timer %d", ti->Index()+1);
+ LogFile.Log(1,"ooops - no events found touching manual timer %d", ti->Id());
}
if (updateMethod) free(updateMethod);
}
diff --git a/timer_thread.c b/timer_thread.c
index ec82977..feef7b3 100644
--- a/timer_thread.c
+++ b/timer_thread.c
@@ -89,9 +89,10 @@ void cTimerThread::Action(void)
m_Active=false;
break;
}
- {
- LOCK_TIMERS_WRITE;
- }
+ {
+ LOCK_TIMERS_WRITE;
+ Timers->SetExplicitModify();
+ }
bool bSuccess = SendViaSVDRP(m_cmd);
if (!bSuccess)
{