mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Fixed double call to MainMenuAction() of a plugin if invoked via a hotkey
This commit is contained in:
17
remote.c
17
remote.c
@@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: remote.c 1.37 2003/05/01 14:44:55 kls Exp $
|
||||
* $Id: remote.c 1.38 2003/05/02 10:49:50 kls Exp $
|
||||
*/
|
||||
|
||||
#include "remote.h"
|
||||
@@ -58,7 +58,7 @@ void cRemote::Clear(void)
|
||||
}
|
||||
}
|
||||
|
||||
bool cRemote::Put(eKeys Key)
|
||||
bool cRemote::Put(eKeys Key, bool AtFront)
|
||||
{
|
||||
if (Key != kNone) {
|
||||
cMutexLock MutexLock(&mutex);
|
||||
@@ -68,9 +68,16 @@ bool cRemote::Put(eKeys Key)
|
||||
if (d <= 0)
|
||||
d = MaxKeys + d;
|
||||
if (d - 1 > 0) {
|
||||
keys[in] = Key;
|
||||
if (++in >= MaxKeys)
|
||||
in = 0;
|
||||
if (AtFront) {
|
||||
if (--out < 0)
|
||||
out = MaxKeys - 1;
|
||||
keys[out] = Key;
|
||||
}
|
||||
else {
|
||||
keys[in] = Key;
|
||||
if (++in >= MaxKeys)
|
||||
in = 0;
|
||||
}
|
||||
keyPressed.Broadcast();
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user