diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 4a21c4a4..104e1516 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1801,3 +1801,6 @@ Oleg Roitburd Marius Heidenstecker for suggesting to make cMenuRecordings::GetRecording() 'protected' + +Jurij Retzlaff + for fixing learning keys when VDR is already running diff --git a/HISTORY b/HISTORY index 7826b527..b31f188b 100644 --- a/HISTORY +++ b/HISTORY @@ -4465,3 +4465,4 @@ Video Disk Recorder Revision History - Fixed broken entry 'A111.1W' in sources.conf (reported by Luca Olivetti). - 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). diff --git a/interface.c b/interface.c index 59147f4b..9c4aefa9 100644 --- a/interface.c +++ b/interface.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: interface.c 1.74 2006/03/25 11:50:55 kls Exp $ + * $Id: interface.c 1.75 2006/03/31 14:20:04 kls Exp $ */ #include "interface.h" @@ -37,7 +37,10 @@ eKeys cInterface::GetKey(bool Wait) if (SVDRP->Process()) Wait = false; } - return cRemote::Get(Wait ? 1000 : 10); + if (!cRemote::IsLearning()) + return cRemote::Get(Wait ? 1000 : 10); + else + return kNone; } eKeys cInterface::Wait(int Seconds, bool KeepChar) diff --git a/remote.h b/remote.h index 0213b0cf..ce6055ff 100644 --- a/remote.h +++ b/remote.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.h 1.33 2006/01/29 12:27:08 kls Exp $ + * $Id: remote.h 1.34 2006/03/31 14:18:44 kls Exp $ */ #ifndef __REMOTE_H @@ -42,6 +42,7 @@ public: virtual bool Initialize(void); const char *Name(void) { return name; } static void SetLearning(cRemote *Learning) { learning = Learning; } + static bool IsLearning() { return learning != NULL; } static void Clear(void); static bool Put(eKeys Key, bool AtFront = false); static bool PutMacro(eKeys Key);