diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2017-05-20 13:01:34 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2017-05-20 13:01:34 +0200 |
commit | 0b9870959beb7ae6a063f73fd5fada8f1faefadb (patch) | |
tree | cc74b43431d8694df490b525e9dc79ddaff7fcb2 | |
parent | 4100b47b370d10caa28d9823cd70f77a34004459 (diff) | |
download | vdr-0b9870959beb7ae6a063f73fd5fada8f1faefadb.tar.gz vdr-0b9870959beb7ae6a063f73fd5fada8f1faefadb.tar.bz2 |
Fixed handling remote timers
-rw-r--r-- | CONTRIBUTORS | 2 | ||||
-rw-r--r-- | HISTORY | 7 | ||||
-rw-r--r-- | menu.c | 10 | ||||
-rw-r--r-- | svdrp.c | 4 |
4 files changed, 15 insertions, 8 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index a2eeaed2..2e7bf8ae 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2829,6 +2829,8 @@ Johann Friedrichs <johann.friedrichs@web.de> for fixing loading the setup.conf file in case a parameter contains the '#' character for reporting that the "Resume" button in the main menu was active even if the respective recording did not exist + for fixing a double deletion of a cTimer in case HandleRemoteModifications() returned + false Timo Helkio <timolavi@mbnet.fi> for reporting a hangup when replaying a TS recording with subtitles activated @@ -8991,7 +8991,7 @@ Video Disk Recorder Revision History current channel is listed. - Fixed a possible crash when pulling the CAM while decrypting a channel with MTD. -2017-05-18: Version 2.3.5 +2017-05-20: Version 2.3.5 - CAMs are now sent a generated EIT packet that contains a single 'present event' for the current SID, in order to avoid any parental rating dialogs. @@ -9030,3 +9030,8 @@ Video Disk Recorder Revision History Spingler). - Reduced the time before a CAM is marked as known to decrypt a particular channel to 3 seconds. +- When the connection to a peer VDR is terminated, any remote timers of that peer + are no longer shown on the local VDR. +- No longer setting a new timer's remote host name if "SVDRP peering" is turned off. +- Fixed a double deletion of a cTimer in case HandleRemoteModifications() returned + false (thanks to Johann Friedrichs). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 4.27 2017/05/17 09:15:51 kls Exp $ + * $Id: menu.c 4.28 2017/05/20 13:00:21 kls Exp $ */ #include "menu.h" @@ -1328,7 +1328,7 @@ eOSState cMenuTimers::New(void) if (HasSubMenu()) return osContinue; cTimer *Timer = new cTimer; - if (*Setup.SVDRPDefaultHost) + if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost) Timer->SetRemote(Setup.SVDRPDefaultHost); return AddSubMenu(new cMenuEditTimer(Timer, true)); } @@ -1660,7 +1660,7 @@ eOSState cMenuWhatsOn::Record(void) return AddSubMenu(new cMenuEditTimer(Timer)); } cTimer *Timer = new cTimer(item->event); - if (*Setup.SVDRPDefaultHost) + if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost) Timer->SetRemote(Setup.SVDRPDefaultHost); if (cTimer *t = Timers->GetTimer(Timer)) { delete Timer; @@ -1674,7 +1674,6 @@ eOSState cMenuWhatsOn::Record(void) if (!HandleRemoteModifications(Timer)) { // must add the timer before HandleRemoteModifications to get proper log messages with timer ids Timers->Del(Timer); - delete Timer; } } if (HasSubMenu()) @@ -1944,7 +1943,7 @@ eOSState cMenuSchedule::Record(void) return AddSubMenu(new cMenuEditTimer(Timer)); } cTimer *Timer = new cTimer(item->event); - if (*Setup.SVDRPDefaultHost) + if (Setup.SVDRPPeering && *Setup.SVDRPDefaultHost) Timer->SetRemote(Setup.SVDRPDefaultHost); if (cTimer *t = Timers->GetTimer(Timer)) { delete Timer; @@ -1958,7 +1957,6 @@ eOSState cMenuSchedule::Record(void) if (!HandleRemoteModifications(Timer)) { // must add the timer before HandleRemoteModifications to get proper log messages with timer ids Timers->Del(Timer); - delete Timer; } } if (HasSubMenu()) @@ -10,7 +10,7 @@ * and interact with the Video Disk Recorder - or write a full featured * graphical interface that sits on top of an SVDRP connection. * - * $Id: svdrp.c 4.17 2017/04/22 11:57:31 kls Exp $ + * $Id: svdrp.c 4.18 2017/05/18 15:51:24 kls Exp $ */ #include "svdrp.h" @@ -384,6 +384,8 @@ void cSVDRPClient::Close(void) SVDRPClientPoller.Del(file, false); file.Close(); socket.Close(); + LOCK_TIMERS_WRITE; + Timers->DelRemoteTimers(serverName); } } |