From 6b968a6b274fda3d8baeac9591d9d8e8fc43d2cd Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 1 Apr 2006 09:12:38 +0200 Subject: [PATCH] Fixed handling the system time transponder setting in the Setup/EPG menu, which was broken by the min/max fix in cMenuEditIntItem --- HISTORY | 4 +++- menuitems.c | 15 +++++---------- menuitems.h | 4 ++-- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/HISTORY b/HISTORY index b31f188b..b3471f1d 100644 --- a/HISTORY +++ b/HISTORY @@ -4456,7 +4456,7 @@ Video Disk Recorder Revision History EPG event has been explicitly set to SI::RunningStatusNotRunning. - The check for timers to be deleted is now done only every 30 seconds. -2006-03-31: Version 1.3.46 +2006-04-01: Version 1.3.46 - Fixed handling broken PMT records (thanks to Marcel Wiesweg for pointing out how to detect these). @@ -4466,3 +4466,5 @@ Video Disk Recorder Revision History - Replaced the obsolete entry 'S21.5E' in the default 'diseqc.conf' with 'S13.0E' (reported by Ville Skyttä). - Fixed learning keys when VDR is already running (thanks to Jurij Retzlaff). +- Fixed handling the system time transponder setting in the Setup/EPG menu, which + was broken by the min/max fix in cMenuEditIntItem. diff --git a/menuitems.c b/menuitems.c index 34e0dd75..a20a64a1 100644 --- a/menuitems.c +++ b/menuitems.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.c 1.34 2006/03/26 09:10:17 kls Exp $ + * $Id: menuitems.c 1.35 2006/03/31 15:17:21 kls Exp $ */ #include "menuitems.h" @@ -588,11 +588,11 @@ eOSState cMenuEditChanItem::ProcessKey(eKeys Key) // --- cMenuEditTranItem ----------------------------------------------------- cMenuEditTranItem::cMenuEditTranItem(const char *Name, int *Value, int *Source) -:cMenuEditChanItem(Name, Value) +:cMenuEditChanItem(Name, &number) { number = 0; source = Source; - transponder = *Value; + transponder = Value; cChannel *channel = Channels.First(); while (channel) { if (!channel->GroupSep() && *source == channel->Source() && ISTRANSPONDER(channel->Transponder(), *Value)) { @@ -601,22 +601,17 @@ cMenuEditTranItem::cMenuEditTranItem(const char *Name, int *Value, int *Source) } channel = (cChannel *)channel->Next(); } - *Value = number; Set(); - *Value = transponder; } eOSState cMenuEditTranItem::ProcessKey(eKeys Key) { - *value = number; eOSState state = cMenuEditChanItem::ProcessKey(Key); - number = *value; - cChannel *channel = Channels.GetByNumber(*value); + cChannel *channel = Channels.GetByNumber(number); if (channel) { *source = channel->Source(); - transponder = channel->Transponder(); + *transponder = channel->Transponder(); } - *value = transponder; return state; } diff --git a/menuitems.h b/menuitems.h index ac0d7d3c..38c98b6f 100644 --- a/menuitems.h +++ b/menuitems.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.h 1.17 2006/02/12 10:22:03 kls Exp $ + * $Id: menuitems.h 1.18 2006/03/31 15:12:42 kls Exp $ */ #ifndef __MENUITEMS_H @@ -120,7 +120,7 @@ class cMenuEditTranItem : public cMenuEditChanItem { private: int number; int *source; - int transponder; + int *transponder; public: cMenuEditTranItem(const char *Name, int *Value, int *Source); virtual eOSState ProcessKey(eKeys Key);