diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2004-05-28 14:28:36 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2004-05-28 14:28:36 +0200 |
commit | d63e99d8efc20a84fa0720092ee098cc1c02e157 (patch) | |
tree | 656024b219ed3d7b7d629ef7ca5257bc4b861523 | |
parent | eb13b8eadd845efab288a87e0bc263bfdc46bc64 (diff) | |
download | vdr-d63e99d8efc20a84fa0720092ee098cc1c02e157.tar.gz vdr-d63e99d8efc20a84fa0720092ee098cc1c02e157.tar.bz2 |
Implemented a default cRemote::Initialize()
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | HISTORY | 6 | ||||
-rw-r--r-- | remote.c | 15 | ||||
-rw-r--r-- | remote.h | 4 |
4 files changed, 23 insertions, 3 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 48e7831d..2f16b852 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -479,6 +479,7 @@ Helmut Auer <vdr@helmutauer.de> for suggesting to make the "Zap timeout" a setup variable for fixing a frequency/transponder handling mixup when setting the time from the DVB data stream + for implementing a default cRemote::Initialize() Jeremy Hall <jhall@UU.NET> for fixing an incomplete initialization of the filter parameters in eit.c @@ -2837,5 +2837,11 @@ Video Disk Recorder Revision History Oliver Endriss for reporting this one). - Added some missing cStatus::MsgOsdTextItem() calls (thanks to Oliver Endriss for reporting this one). + +2004-05-28: Version 1.3.9 + - Completed Croatian language texts (thanks to Drazen Dupor). - New iso8859-2 font to fix the problem with program freezes (thanks to Drazen Dupor). +- Implemented a default cRemote::Initialize() that waits 10 seconds for a keypress + in order to prevent a "hangup" in case, e.g., the LIRC driver is not loaded (thanks + to Helmut Auer). @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.c 1.39 2003/10/18 11:35:32 kls Exp $ + * $Id: remote.c 1.40 2004/05/28 14:19:52 kls Exp $ */ #include "remote.h" @@ -18,6 +18,8 @@ // --- cRemote --------------------------------------------------------------- +#define INITTIMEOUT 10000 // ms + eKeys cRemote::keys[MaxKeys]; int cRemote::in = 0; int cRemote::out = 0; @@ -48,6 +50,17 @@ void cRemote::PutSetup(const char *Setup) Keys.PutSetup(Name(), Setup); } +bool cRemote::Initialize(void) +{ + if (Ready()) { + char *NewCode = NULL; + eKeys Key = Get(INITTIMEOUT, &NewCode); + if (Key != kNone || NewCode) + return true; + } + return false; +} + void cRemote::Clear(void) { cMutexLock MutexLock(&mutex); @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.h 1.28 2003/05/02 10:41:35 kls Exp $ + * $Id: remote.h 1.29 2004/05/28 14:14:02 kls Exp $ */ #ifndef __REMOTE_H @@ -38,7 +38,7 @@ protected: public: virtual ~cRemote(); virtual bool Ready(void) { return true; } - virtual bool Initialize(void) { return true; } + virtual bool Initialize(void); const char *Name(void) { return name; } static void SetLearning(cRemote *Learning) { learning = Learning; } static void Clear(void); |