summaryrefslogtreecommitdiff
path: root/menuitems.c
diff options
context:
space:
mode:
Diffstat (limited to 'menuitems.c')
-rw-r--r--menuitems.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/menuitems.c b/menuitems.c
index 743b3f31..3f835878 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.17 2004/05/02 10:37:34 kls Exp $
+ * $Id: menuitems.c 1.18 2004/05/16 12:47:02 kls Exp $
*/
#include "menuitems.h"
@@ -502,14 +502,15 @@ eOSState cMenuEditChanItem::ProcessKey(eKeys Key)
// --- cMenuEditTranItem -----------------------------------------------------
-cMenuEditTranItem::cMenuEditTranItem(const char *Name, int *Value)
+cMenuEditTranItem::cMenuEditTranItem(const char *Name, int *Value, int *Source)
:cMenuEditChanItem(Name, Value)
{
number = 0;
+ source = Source;
transponder = *Value;
cChannel *channel = Channels.First();
while (channel) {
- if (!channel->GroupSep() && ISTRANSPONDER(channel->Frequency(), *Value)) {
+ if (!channel->GroupSep() && *source == channel->Source() && ISTRANSPONDER(channel->Transponder(), *Value)) {
number = channel->Number();
break;
}
@@ -526,8 +527,10 @@ eOSState cMenuEditTranItem::ProcessKey(eKeys Key)
eOSState state = cMenuEditChanItem::ProcessKey(Key);
number = *value;
cChannel *channel = Channels.GetByNumber(*value);
- if (channel)
- transponder = channel->Frequency();
+ if (channel) {
+ *source = channel->Source();
+ transponder = channel->Transponder();
+ }
*value = transponder;
return state;
}