summaryrefslogtreecommitdiff
path: root/interface.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2000-11-11 12:21:38 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2000-11-11 12:21:38 +0100
commit6bc436aeed0322155dc0d6a0a9ebeb1baa63f0d5 (patch)
tree67cb2bb012e0f30dea8e9dcd64713e9e90d29fb4 /interface.c
parent36d187f64c82e3957bc99eb16ccc5310ffafe290 (diff)
downloadvdr-6bc436aeed0322155dc0d6a0a9ebeb1baa63f0d5.tar.gz
vdr-6bc436aeed0322155dc0d6a0a9ebeb1baa63f0d5.tar.bz2
Fixed a timing problem with OSD refresh and SVDRP
Diffstat (limited to 'interface.c')
-rw-r--r--interface.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/interface.c b/interface.c
index 65008f1b..9ecc7473 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.30 2000/11/10 17:03:02 kls Exp $
+ * $Id: interface.c 1.31 2000/11/11 12:13:35 kls Exp $
*/
#include "interface.h"
@@ -58,8 +58,7 @@ void cInterface::Close(void)
unsigned int cInterface::GetCh(bool Wait, bool *Repeat, bool *Release)
{
- if (open)
- cDvbApi::PrimaryDvbApi->Flush();
+ Flush();
if (!rcIo->InputAvailable())
cFile::AnyFileReady(-1, Wait ? 1000 : 0);
unsigned int Command;
@@ -68,6 +67,7 @@ unsigned int cInterface::GetCh(bool Wait, bool *Repeat, bool *Release)
eKeys cInterface::GetKey(bool Wait)
{
+ Flush();
if (SVDRP)
SVDRP->Process();
eKeys Key = keyFromWait;
@@ -90,8 +90,7 @@ void cInterface::PutKey(eKeys Key)
eKeys cInterface::Wait(int Seconds, bool KeepChar)
{
- if (open)
- cDvbApi::PrimaryDvbApi->Flush();
+ Flush();
eKeys Key = kNone;
time_t timeout = time(NULL) + Seconds;
for (;;) {
@@ -325,7 +324,7 @@ void cInterface::QueryKeys(void)
WriteText(1, 1, tr("Learning Remote Control Keys"));
WriteText(1, 3, tr("Phase 1: Detecting RC code type"));
WriteText(1, 5, tr("Press any key on the RC unit"));
- cDvbApi::PrimaryDvbApi->Flush();
+ Flush();
#ifndef REMOTE_KBD
unsigned char Code = 0;
unsigned short Address;
@@ -341,11 +340,11 @@ void cInterface::QueryKeys(void)
Keys.address = Address;
WriteText(1, 5, tr("RC code detected!"));
WriteText(1, 6, tr("Do not press any key..."));
- cDvbApi::PrimaryDvbApi->Flush();
+ Flush();
rcIo->Flush(3000);
ClearEol(0, 5);
ClearEol(0, 6);
- cDvbApi::PrimaryDvbApi->Flush();
+ Flush();
break;
}
#endif